/*
Theme Name: q26
Theme URI: https://qerdus.com/
Author: Qerdus Media
Author URI: https://qerdus.com
Description: Qerdus Media Themes.
Version: 1.1.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: q26
Tags: Lamongan 14 Januari 2026
*/

/* ------------------------------------------------------------------------- *
 *  1. Variables
 * ------------------------------------------------------------------------- */

:root {
    /* Color Palette - Light Tech Theme (Qerdus Brand) */
    --color-bg-body: #ffffff;
    /* Light Gray optimized for reading */
    --color-bg-card: #ffffff;
    /* White cards */
    --color-bg-header: #1549df;
    /* Brand Blue - Ensures white logo text is visible */

    /* Text Colors */
    --color-text-main: #1e293b;
    /* Slate 800 - High contrast for reading */
    --color-text-muted: #64748b;
    /* Slate 500 */
    --color-text-inverted: #ffffff;
    /* White text for header/buttons */

    /* Brand Colors */
    --color-primary: #1549df;
    /* Brand Blue */
    --color-primary-hover: #1039b5;
    /* Darker Blue */
    --color-secondary: #0f172a;
    /* Dark Slate for secondary elements */

    --color-border: #e2e8f0;
    /* Slate 200 */

    /* Gradients */
    --gradient-primary: linear-gradient(135deg, #1549df 0%, #00c6ff 100%);
    --gradient-header: linear-gradient(to right, #1549df, #0f172a);

    /* Typography */
    --font-body: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --font-heading: 'Outfit', var(--font-body);

    --font-size-xs: 0.75rem;
    --font-size-sm: 0.875rem;
    --font-size-base: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.25rem;
    --font-size-2xl: 1.5rem;
    --font-size-3xl: 2rem;
    --font-size-4xl: 2.5rem;

    /* Spacing */
    --spacing-xs: 0.5rem;
    --spacing-sm: 1rem;
    --spacing-md: 2rem;
    --spacing-lg: 3rem;
    --spacing-xl: 5rem;

    /* Layout */
    --container-width: 1280px;
    --header-height: 72px;

    /* UI Elements */
    --radius-sm: 0.375rem;
    --radius-md: 0.75rem;
    --radius-lg: 1rem;

    --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --shadow-glow: 0 4px 14px 0 rgba(21, 73, 223, 0.39);

    --transition-base: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ------------------------------------------------------------------------- *
 *  2. Reset & Base
 * ------------------------------------------------------------------------- */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    /* Use clip to prevent horizontal overflow without breaking sticky */
    overflow-x: clip;
    max-width: 100vw;
}

body {
    /* Use clip to prevent horizontal overflow without breaking sticky */
    overflow-x: clip;
    max-width: 100vw;
    width: 100%;
    background-color: var(--color-bg-body);
    color: var(--color-text-main);
    font-family: var(--font-body);
    font-size: var(--font-size-base);
    line-height: 1.6;
    margin: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    color: var(--color-text-main);
    line-height: 1.1;
    margin-top: 0;
    margin-bottom: var(--spacing-sm);
    font-weight: 700;
    letter-spacing: -0.02em;
}

h1 {
    font-size: var(--font-size-4xl);
}

h2 {
    font-size: var(--font-size-3xl);
}

h3 {
    font-size: var(--font-size-2xl);
}

h4 {
    font-size: var(--font-size-xl);
}

a {
    color: var(--color-primary);
    text-decoration: none;
    transition: all var(--transition-base);
}

a:hover,
a:focus {
    color: var(--color-primary-hover);
    text-shadow: var(--shadow-glow);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
    border-radius: var(--radius-sm);
}

/* ------------------------------------------------------------------------- *
 *  3. Layout
 * ------------------------------------------------------------------------- */
.site {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    /* Use clip instead of hidden to allow sticky positioning */
    overflow-x: clip;
    max-width: 100vw;
    width: 100%;
}

@media (min-width: 1024px) {
    .site {
        /* Clip prevents horizontal scroll while allowing sticky to work */
        overflow-x: clip;
    }
}

.site-main {
    flex: 1;
    max-width: var(--container-width);
    width: 100%;
    margin: 0 auto;
    padding: var(--spacing-lg) var(--spacing-sm);
}

/* Full Width Page Layout (No Sidebar) */
.page-full-width {
    max-width: 100%;
    padding: 0;
}

.page-full-width .container {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--spacing-lg) var(--spacing-sm);
}

.page-full-width article {
    background: var(--color-bg-card);
    border-radius: var(--radius-md);
}

.page-full-width .entry-header {
    text-align: center;
    padding-bottom: var(--spacing-md);
    margin-bottom: var(--spacing-md);
    border-bottom: 1px solid var(--color-border);
}

.page-full-width .entry-title {
    font-size: var(--font-size-4xl);
    margin-bottom: 0;
}

.page-full-width .entry-content {
    font-size: var(--font-size-lg);
    line-height: 1.8;
}

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

/* ------------------------------------------------------------------------- *
 *  4. Header
 * ------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------- *
 *  4. Header
 * ------------------------------------------------------------------------- */

/* Top Bar */
.top-bar {
    background-color: var(--color-secondary);
    color: var(--color-text-inverted);
    font-size: 0.85rem;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.top-bar .inner-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--spacing-sm);
}

.top-bar-right .social-links {
    display: flex;
    gap: 1rem;
}

.top-bar-right .social-links a {
    color: rgba(255, 255, 255, 0.7);
    transition: color 0.2s;
}

.top-bar-right .social-links a:hover {
    color: var(--color-primary-light, #60a5fa);
}

/* Main Header */
.site-header {
    background: #ffffff;
    border-bottom: 1px solid var(--color-border);
    padding: 0;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 4px 20px -10px rgba(0, 0, 0, 0.05);
}

/* Sticky Header - Admin Bar Compatibility */
body.admin-bar .site-header {
    top: 32px;
}

@media (max-width: 782px) {
    body.admin-bar .site-header {
        top: 46px;
    }
}

.main-header {
    padding: 0;
}

.main-header .inner-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--spacing-sm);
    height: var(--header-height);
}

/* If branding and nav are siblings and not wrapped, use this: */
.site-header {
    display: block;
}

.site-header .inner-wrap {
    /* Use a wrapper in header.php if possible, or target direct flex children */
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--spacing-sm);
    height: 100%;
}

/* Branding */
.site-branding {
    flex-shrink: 0;
    margin-right: var(--spacing-md);
    display: flex;
    align-items: center;
    gap: 1rem;
}

.custom-logo-link {
    display: inline-block;
}

.custom-logo {
    height: 40px;
    /* Explicit height to force display */
    width: auto;
    /* Maintain aspect ratio */
    max-width: none;
    display: block;
}

.site-title {
    font-family: var(--font-heading);
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.03em;
    margin: 0;
    color: var(--color-primary);
    /* Brand blue for Logo text */
}

.site-title a {
    text-decoration: none;
    color: inherit;
}

.site-description {
    display: none;
    /* Clean look */
}

/* Navigation Dropdowns */
/* Navigation Styles - Professional/Clean */
.main-navigation {
    display: flex;
    align-items: center;
}

.main-navigation ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 2rem;
}

.main-navigation li {
    position: relative;
}

.main-navigation a {
    display: block;
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--color-text-main);
    /* Dark text on white header */
    text-decoration: none;
    padding: 1.5rem 0;
    /* Increase hit area and header vertical rhythm */
    transition: color 0.2s ease;
}

.main-navigation a:hover,
.main-navigation .current-menu-item>a,
.main-navigation .current-menu-ancestor>a {
    color: var(--color-primary);
    opacity: 1;
    text-shadow: none;
}

/* Header Search Toggle */
.header-search-toggle {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--color-text-main);
    margin-left: 1.5rem;
    padding: 0.5rem;
    transition: color 0.2s;
    display: flex;
    align-items: center;
}

.header-search-toggle:hover {
    color: var(--color-primary);
}

/* Search Form Container - Premium News Style */
.header-search-form {
    background: #ffffff;
    border-top: 1px solid var(--color-border);
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    padding: 1.5rem 0;
    /* More breathing room */
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    /* Smoother shadow */
    transform-origin: top;
    transform: scaleY(0);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 900;
}

.site-header.search-toggled .header-search-form {
    transform: scaleY(1);
    opacity: 1;
    visibility: visible;
}

/* Higher specificity to ensure width applies */
.site-header .header-search-form .search-form {
    display: flex;
    max-width: 900px;
    /* Kept wide for professional feel */
    width: 100%;
    margin: 0 auto;
    position: relative;
    align-items: center;
}

.header-search-form .search-form label {
    width: 100%;
}

.header-search-form .search-field {
    width: 100%;
    border: 0;
    border-bottom: 2px solid var(--color-border);
    /* Minimalist underline style */
    border-radius: 0;
    padding: 1rem 3rem 1rem 0;
    /* Space for icon */
    font-size: 1.5rem;
    /* Large, confident text */
    font-weight: 300;
    color: var(--color-text-main);
    background: transparent;
    transition: border-color 0.3s;
    font-family: var(--font-heading);
    /* Use heading font for search query */
}

.header-search-form .search-field:focus {
    outline: none;
    border-color: var(--color-primary);
}

.header-search-form .search-field::placeholder {
    color: #cbd5e1;
    font-weight: 300;
}

.header-search-form .search-submit {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    color: var(--color-text-muted);
    border: none;
    padding: 0.5rem;
    cursor: pointer;
    transition: color 0.2s;
}

.header-search-form .search-submit:hover {
    color: var(--color-primary);
}

.header-search-form .search-submit svg {
    width: 24px;
    height: 24px;
}

/* Search Suggestions */
.search-suggestions {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #ffffff;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    border-radius: 0 0 var(--radius-md) var(--radius-md);
    z-index: 1000;
    display: none;
    overflow: hidden;
    margin-top: 2px;
    border: 1px solid var(--color-border);
    border-top: 0;
}

.search-suggestions ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.search-suggestions li {
    border-bottom: 1px solid var(--color-border);
}

.search-suggestions li:last-child {
    border-bottom: 0;
}

.search-suggestions a {
    display: flex;
    flex-direction: column;
    padding: 1rem;
    color: var(--color-text-main);
    text-decoration: none;
    transition: background-color 0.2s;
}

.search-suggestions a:hover {
    background-color: var(--color-bg-body);
    color: var(--color-primary);
}

.suggestion-title {
    font-weight: 500;
    font-size: 1.1rem;
    /* Slightly larger for readability */
    margin-bottom: 0;
    color: var(--color-text-main);
}

.search-suggestions a:hover .suggestion-title {
    color: var(--color-primary);
}

.suggestion-title .highlight {
    color: var(--color-primary);
    font-weight: 700;
    background: rgba(21, 73, 223, 0.05);
    /* Very subtle background */
}

.no-results {
    padding: 1rem;
    color: var(--color-text-muted);
    text-align: center;
    font-style: italic;
}

/* Level 2 Submenu (Dropdown) */
.main-navigation ul ul {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 240px;
    /* Slightly wider */
    background: #ffffff;
    box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.15);
    /* Deeper shadow */
    padding: 0.5rem 0;
    border: 0;
    /* Remove full border */
    border-top: 3px solid var(--color-primary);
    /* Professional accent */
    border-radius: 0 0 var(--radius-sm) var(--radius-sm);
    flex-direction: column;
    gap: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.2s ease-in-out;
    z-index: 100;
}

.main-navigation li:hover>ul {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.main-navigation ul ul li {
    width: 100%;
}

.main-navigation ul ul a {
    padding: 0.85rem 1.5rem;
    /* More breathing room */
    font-size: 0.95rem;
    white-space: nowrap;
    color: var(--color-text-main);
    font-weight: 500;
    border-left: 3px solid transparent;
    /* Prepare for hover effect */
    transition: all 0.2s;
}

.main-navigation ul ul a:hover {
    background: #f8fafc;
    /* Very light gray */
    color: var(--color-primary);
    border-left-color: var(--color-primary);
    /* Accent indicator */
    padding-left: 1.75rem;
    /* Subtle shift */
}

/* Level 3+ Submenu (Side Menu) */
.main-navigation ul ul ul {
    top: 0;
    left: 100%;
    margin-left: 0;
    transform: translateX(-10px);
}

.main-navigation ul ul li:hover>ul {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

/* Submenu Flip (JS Handling for Edge Detection) */
.main-navigation ul ul.submenu-flip {
    left: auto;
    right: 0;
}

.main-navigation ul ul ul.submenu-flip {
    left: auto;
    right: 100%;
    transform: translateX(10px);
}

.main-navigation ul ul li:hover>ul.submenu-flip {
    transform: translateX(0);
}

/* -----------------------------------------------------------------------------
 * Hero Section (Tech Grid)
 * ----------------------------------------------------------------------------- */
/* -----------------------------------------------------------------------------
 * Hero Section (News Grid)
 * ----------------------------------------------------------------------------- */
.hero-section {
    margin-bottom: 0;
    padding-top: 0;
}

/* Side Posts (Right) - Unified Dark Panel (Seamless Integration) */
.hero-grid {
    display: grid;
    grid-template-columns: 1.8fr 1fr;
    gap: 0;
    /* SEAMLESS: No gap between main image and side panel */
    height: 550px;
    min-height: 550px;
    /* STRICT LOCK */
    align-items: stretch;
    border-radius: 0;
    /* Apply radius to the whole grid wrapper if needed, or individually */
    overflow: hidden;
    /* Ensure rounded corners clip content */
    box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.1);
}

.hero-side {
    display: grid;
    /* V7: CSS Grid for Strict Rows */
    grid-template-rows: repeat(3, 1fr);
    /* Force 3 equal rows */
    gap: 0;
    height: 100%;
    /* Dark Theme Background to match Hero Image weight */
    background: var(--color-secondary);
    color: #ffffff;
    border: none;
    padding: 0;
    /* Reset */
    counter-reset: hero-rank;
    position: relative;
    z-index: 2;
}

.hero-post-small {
    width: 100%;
    height: 100%;
    /* Fill Grid Cell */
    /* STRICT EQUALITY: Force equal distribution */
    min-height: 0;
    /* Allow shrinking */
    position: relative;
    background: transparent;
    /* Seamless */
    border: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    /* Subtle divider */
    border-radius: 0;
    /* No individual rounding */
    box-shadow: none;
    /* Flat integration */
    transition: background-color 0.2s ease;
    padding: 0 1.5rem;
    /* Internal padding */
    margin: 0;
    overflow: hidden;
}

.hero-post-small:last-child {
    border-bottom: none;
}

/* Hover State: Lighten background slightly */
/* Hover State: Lighten background slightly */
.hero-post-small:hover {
    background-color: rgba(255, 255, 255, 0.05);
    transform: none;
    /* Stable */
    box-shadow: none;
}

.hero-post-small .hero-link {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 1rem 0;
    /* Vertical padding only, horiz handled by container */
    gap: 1.25rem;
    text-decoration: none;
    color: #fff;
    /* Force white text */
}

/* Rank Badge - Integrated */
.hero-post-small::before {
    counter-increment: hero-rank;
    content: counter(hero-rank);
    position: absolute;
    top: 50%;
    right: 1.5rem;
    transform: translateY(-50%);
    color: rgba(255, 255, 255, 0.15);
    /* Very subtle watermark style */
    font-size: 2.5rem;
    font-weight: 800;
    line-height: 1;
    font-family: var(--font-heading);
    z-index: 0;
    transition: all 0.3s;
    pointer-events: none;
}

.hero-post-small:hover::before {
    color: rgba(255, 255, 255, 0.3);
    transform: translateY(-50%) translateX(-5px);
}

.hero-post-small .hero-image {
    width: 120px;
    /* 4:3 Standard Aspect Ratio */
    height: 90px;
    flex-shrink: 0;
    border-radius: 0;
    overflow: hidden;
    position: relative;
    border: 1px solid rgba(255, 255, 255, 0.1);
    /* Definition against dark bg */
    z-index: 1;
}

.hero-post-small .hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
    border-radius: 0;
    /* Force sharp corners */
}

.hero-post-small:hover .hero-image img {
    transform: scale(1.1);
}

.hero-post-small .hero-content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    z-index: 1;
    padding-right: 2rem;
    /* Space for rank highlight */
}

.hero-post-small .hero-meta {
    font-size: 0.65rem;
    color: var(--color-primary-light);
    /* Lighter accent for dark bg */
    margin-bottom: 0.35rem;
    font-weight: 700;
    /* text-transform: uppercase; removed */
    letter-spacing: 0.05em;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.hero-post-small .hero-title {
    font-size: 1rem;
    margin: 0;
    line-height: 1.4;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.95);
    /* Off-white for reading */
    transition: color 0.2s;
    font-family: var(--font-body);

    /* Limit lines */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.hero-post-small:hover .hero-title {
    color: #fff;
}

/* Hero Meta - Badge Layout */
.hero-meta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

/* Category Badge Group */
.hero-cat-group {
    display: flex;
    gap: 0.5rem;
}

/* Category Badge (Blue Pill) */
.hero-cat-badge {
    display: inline-block;
    background: var(--color-primary);
    color: #fff !important;
    /* Force white over link color */
    font-size: 0.75rem;
    font-weight: 700;
    /* text-transform: uppercase; removed */
    letter-spacing: 0.05em;
    padding: 0.35rem 0.85rem;
    border-radius: 0;
    /* Pill Shape */
    line-height: 1;
    position: relative;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
    text-decoration: none !important;
    transition: background-color 0.2s;
}

.hero-cat-badge:hover {
    background: var(--color-primary-hover);
    color: #fff !important;
}



/* Date Badge (Glass/Dark) */
.hero-date {
    display: inline-block;
    font-size: 0.75rem;
    color: #fff;
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    font-weight: 600;
    letter-spacing: 0.02em;
    padding: 0.35rem 0.85rem;
    border-radius: 0;
    /* Pill Shape */
    line-height: 1;
    margin: 0;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Hero Title Spacing override if needed, but H2 usually has margin */
.hero-content .hero-title {
    margin-top: 0.5rem;
}



/* Main Post (Left) */
.hero-main {
    height: 100%;
    position: relative;
    /* Context for absolute child */
    min-height: 100%;
    /* Safety */
}

.hero-post-large {
    position: absolute;
    /* Force fill */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 0;
    overflow: hidden;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05);
    z-index: 1;
}

.hero-post-large .hero-link {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    color: #fff;
    text-decoration: none;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.hero-post-large .hero-link:hover,
.hero-post-large .hero-link:focus {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.hero-post-large .hero-image {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    z-index: 0;
}

.hero-post-large .hero-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
    border-radius: 0 !important;
    transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.hero-post-large:hover .hero-image img {
    transform: scale(1.05);
}

/* Force Height Chain for Large Hero */
.hero-post-large,
.hero-post-large .hero-link,
.hero-post-large .hero-link>.hero-image {
    height: 100%;
    min-height: 100%;
}

.hero-post-large .hero-image img {
    height: 100% !important;
    min-height: 100% !important;
    object-fit: cover;
}

/* Gradient Overlay - Cinematic & Readable */
.hero-post-large .hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom,
            rgba(0, 0, 0, 0) 0%,
            rgba(0, 0, 0, 0.2) 40%,
            rgba(0, 0, 0, 0.85) 100%);
    pointer-events: none;
    z-index: 1;
}

.hero-post-large .hero-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 3rem;
    z-index: 2;
}

.hero-post-large .hero-meta {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.hero-post-large .hero-title {
    font-size: 2.5rem;
    margin: 0;
    line-height: 1.1;
    font-weight: 800;
    color: #fff;
    /* Clean text shadow */
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}



/* Mobile Responsive */
@media (max-width: 991px) {
    .hero-section {
        margin-bottom: 0;
        padding-top: 1rem;
    }

    .hero-grid {
        grid-template-columns: 1fr;
        height: auto;
        min-height: 0;
        /* Override desktop lock */
        gap: 0;
        border-radius: 0;
        /* SHARP */
        overflow: hidden;
        box-shadow: none;
        /* Simplify on mobile */
    }

    .hero-main {
        height: 400px;
        /* Slightly shorter on mobile */
    }

    .hero-post-large .hero-title {
        font-size: 1.75rem;
    }

    .hero-post-large .hero-content {
        padding: 1.5rem;
    }

    .hero-side {
        display: flex;
        /* Revert to flex stack on mobile */
        flex-direction: column;
        grid-template-rows: none;
        /* Reset grid */
        border: none;
        background: var(--color-secondary);
        /* Keep dark theme */
        gap: 0;
        padding: 0;
    }

    .hero-post-small {
        height: auto;
        /* Let content dictate height on mobile */
        background: transparent;
        border: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        border-radius: 0;
        flex: none;
        padding: 0 1rem;
    }

    .hero-post-small:last-child {
        border-bottom: none;
    }

    /* Keep or hide ranking on mobile? Let's hide to save space */
    .hero-post-small::before {
        display: none;
    }

    .hero-post-small .hero-link {
        padding: 1rem 0;
    }

    .hero-post-small .hero-image {
        width: 120px;
        height: 90px;
    }

    .hero-post-small .hero-content {
        padding-right: 0;
        /* No rank badge, so reclaim space */
    }
}


/* Mobile Menu Toggle */
.menu-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.5rem;
    color: var(--color-text-inverted);
}

/* Arrow indicators for items with children */
.menu-item-has-children>a::after {
    content: '';
    display: inline-block;
    margin-left: 0.5em;
    vertical-align: middle;
    border-top: 4px solid currentColor;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
}

.main-navigation ul ul .menu-item-has-children>a::after {
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid currentColor;
    float: right;
    margin-top: 6px;
}

/* ------------------------------------------------------------------------- *
 *  5. Content
 * ------------------------------------------------------------------------- */

/* Post Grid Container - To be used in index.php */
.posts-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
    /* Safari fix - prevent grid children overflow */
    min-width: 0;
    max-width: 100%;
    /* Use clip instead of hidden to allow sticky positioning */
    overflow: clip;
    overflow-clip-margin: content-box;
}

@media (min-width: 1024px) {
    .posts-layout {
        grid-template-columns: 1fr 340px;
        /* Content + Sidebar */
        /* Allow sticky to work on desktop */
        overflow: visible;
    }

    .posts-layout>.widget-area {
        align-self: start;
        position: sticky;
        top: calc(var(--header-height) + 16px);
    }
}

.post-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--spacing-md);
}

/* Content Cards/Articles */
/* Content Cards/Articles - Professional News Style */
article.post {
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--color-border);
    border-radius: 0;
    margin-bottom: var(--spacing-md);
    padding-bottom: var(--spacing-md);
    display: flex;
    flex-direction: column;
    /* No transitions or hover movements for professional news feel */
}

/* Remove hover effects */
article.post:hover {
    transform: none;
    box-shadow: none;
    border-color: var(--color-border);
}

.post-thumbnail {
    margin: 0 0 var(--spacing-sm) 0;
    overflow: hidden;
    aspect-ratio: 16/9;
}

.post-thumbnail img {
    border-radius: 2px;
    /* Very subtle radius or 0 for sharp news look */
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.2s ease;
}

article.post:hover .post-thumbnail img {
    transform: none;
    opacity: 0.9;
}

.entry-header {
    padding: 0;
    margin-bottom: var(--spacing-xs);
}

.entry-title {
    font-size: 1.5rem;
    /* Larger, clearer headlines */
    line-height: 1.3;
    font-weight: 700;
    margin-bottom: var(--spacing-xs);
    letter-spacing: -0.01em;
}

.entry-title a {
    color: var(--color-text-main);
}

.entry-title a:hover {
    color: var(--color-primary);
    text-decoration: underline;
    /* Standard news link behavior */
}

.entry-meta {
    font-size: 0.75rem;
    color: var(--color-text-muted);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: var(--spacing-xs);
}

.entry-content {
    padding: 0 var(--spacing-sm) var(--spacing-sm);
    margin-top: 0;
    font-size: 0.95rem;
    color: var(--color-text-muted);
    flex-grow: 1;
}

/* Pagination */
.navigation.pagination {
    grid-column: 1 / -1;
    margin-top: var(--spacing-lg);
    text-align: center;
}

/* Load More Button */
.load-more-container {
    display: flex;
    justify-content: center;
    margin-top: var(--spacing-md);
    /* padding: var(--spacing-sm) 0; */
}

.load-more-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.875rem 2.5rem;
    background: var(--color-primary);
    color: var(--color-text-inverted);
    border: none;
    border-radius: var(--radius-sm);
    font-family: var(--font-body);
    font-size: var(--font-size-sm);
    font-weight: 600;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: all var(--transition-base);
    box-shadow: var(--shadow-md);
}

.load-more-btn:hover:not(:disabled) {
    background: var(--color-primary-hover);
    transform: translateY(-2px);
    box-shadow: var(--shadow-glow);
}

.load-more-btn:active:not(:disabled) {
    transform: translateY(0);
}

.load-more-btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.load-more-btn.disabled {
    background: var(--color-text-muted);
    box-shadow: none;
}

.nav-links {
    display: inline-flex;
    gap: var(--spacing-xs);
    background: var(--color-bg-card);
    padding: var(--spacing-xs);
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border);
}

.page-numbers {
    padding: 0.5rem 1rem;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    color: var(--color-text-muted);
    font-weight: 500;
    min-width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.page-numbers.current,
.page-numbers:hover {
    background-color: var(--color-primary);
    color: var(--color-text-inverted);
    font-weight: 700;
    box-shadow: var(--shadow-glow);
}

/* Sidebar Widgets - Clean Professional Look */
.widget-area .widget {
    margin-bottom: var(--spacing-lg);
    background: transparent;
    /* Remove card look */
    border: 0;
    border-bottom: 2px solid var(--color-border);
    border-radius: 0;
    padding: 0 0 var(--spacing-md) 0;
    box-shadow: none;
}

.widget:last-child {
    border-bottom: 0;
}

/* Remove spacing/border for Popular Posts widget */
.widget-area .widget:has(.popular-posts-container),
.widget-area .popular-widget,
.widget-area .widget:has(.send-tips-widget) {
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
    border: 0;
}

/* Align Popular Posts with timeline horizontal line */
.popular-posts-container {
    margin-top: 2rem;
}

.widget-title {
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: var(--spacing-sm);
    padding-bottom: var(--spacing-xs);
    border-bottom: 0;
    display: block;
    color: var(--color-text-main);
}

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

.widget li {
    padding: var(--spacing-xs) 0;
    border-bottom: 1px solid var(--color-border);
    color: var(--color-text-muted);
}

.widget li a {
    color: var(--color-text-muted);
    transition: color 0.2s;
}

.widget li a:hover {
    color: var(--color-primary);
    padding-left: 5px;
}

/* Categories & Archives (Clean List) */
.widget_categories li,
.widget_archive li {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Ensure count is distinguishable if present */
.widget_categories li .count,
.widget_archive li .count {
    background: #f1f5f9;
    padding: 0.1rem 0.5rem;
    border-radius: 99px;
    font-size: 0.75rem;
    color: var(--color-text-muted);
}

/* Send Tips Widget - Feature Card Redesign */
.send-tips-widget {
    height: 250px;
    background: var(--gradient-primary);
    /* Brand Blue Gradient (Matches 'Latest') */
    border-radius: 0;
    /* Remove rounded corners */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 2rem;
    position: relative;
    overflow: hidden;
    margin: 1.75rem 0 2rem 0;
    /* Adjusted for visual alignment */
    box-shadow: var(--shadow-md);
}

/* Hide Send Tips widget in the bottom section (robust selectors) */
main~main .send-tips-widget,
.site-main~.site-main .send-tips-widget,
main:nth-of-type(n+2) .send-tips-widget {
    display: none !important;
}

/* Title on Top (using ::before as first flex child) */
.send-tips-widget::before {
    content: 'Punya Info Menarik?';
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 1.5rem;
    z-index: 1;
    display: block;
}

/* Background Decoration (using ::after positioned absolutely) */
.send-tips-widget::after {
    content: '';
    position: absolute;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 60%);
    top: -50%;
    left: -50%;
    z-index: 0;
    pointer-events: none;
}

.send-tips-button {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    padding: 0.75rem 2rem;
    background: #ffffff;
    color: var(--color-primary) !important;
    border-radius: 0;
    font-weight: 600;
    /* Slightly lighter for elegance */
    letter-spacing: 0.02em;
    /* Polished spacing */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    /* Softer, richer shadow */
    border: 0;
    text-decoration: none;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    /* Smooth spring-like transition */
    gap: 0.6rem;

    /* Icon Replacement Strategy */
    font-size: 0;
}

/* New Icon (Paper Plane) using Mask for Color Control */
.send-tips-button::before {
    content: '';
    display: inline-block;
    width: 18px;
    /* Slightly smaller for balance */
    height: 18px;
    background-color: currentColor;
    /* Inherit text color */
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M3.478 2.405a.75.75 0 00-.926.94l2.432 7.905H13.5a.75.75 0 010 1.5H4.984l-2.432 7.905a.75.75 0 00.926.94 60.519 60.519 0 0018.445-8.986.75.75 0 000-1.218A60.517 60.517 0 003.478 2.405z' /%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M3.478 2.405a.75.75 0 00-.926.94l2.432 7.905H13.5a.75.75 0 010 1.5H4.984l-2.432 7.905a.75.75 0 00.926.94 60.519 60.519 0 0018.445-8.986.75.75 0 000-1.218A60.517 60.517 0 003.478 2.405z' /%3E%3C/svg%3E") no-repeat center / contain;
    margin-right: 0;
    /* Gap handled by flex gap */
}

/* Restore Text */
.send-tips-button::after {
    content: 'Kirim Tips / Artikel';
    font-size: 0.95rem;
    /* Precise sizing */
    font-family: var(--font-body);
    font-weight: 600;
}

.send-tips-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
    /* Deep lift */
    background: #ffffff;
    color: var(--color-primary-hover) !important;
}

/* ------------------------------------------------------------------------- *
 *  6. Footer
 * ------------------------------------------------------------------------- */
.site-footer {
    background-color: var(--color-secondary);
    color: rgba(255, 255, 255, 0.7);
    /* padding: var(--spacing-lg) 0 0; */
    margin-top: auto;
    font-size: 0.95rem;
}

.footer-widgets {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: var(--spacing-lg) var(--spacing-sm);
    display: grid;
    /* Wide - Narrow - Narrow Layout (Layout override in later CSS) */
    grid-template-columns: 3fr 0.8fr 0.8fr;
    gap: var(--spacing-xl);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-widget-area .widget-title {
    font-size: 1.1rem;
    color: #ffffff;
    margin-bottom: 1.5rem;
    padding-bottom: 0.75rem;
    border-bottom: 2px solid var(--color-primary);
    display: inline-block;
    font-weight: 700;
}

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

.footer-widget-area li {
    margin-bottom: 0.75rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    padding-bottom: 0.75rem;
}

.footer-widget-area li:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.footer-widget-area a {
    color: rgba(255, 255, 255, 0.7);
    transition: all 0.2s ease;
    display: block;
    text-decoration: none;
}

.footer-widget-area a:hover {
    color: #ffffff;
    transform: translateX(3px);
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
}

/* Custom HTML Widget Support */
.footer-widget-area p {
    margin-bottom: 1rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.7);
}

.footer-widget-area img {
    max-width: 100%;
    height: auto;
    border-radius: var(--radius-sm);
    margin-bottom: 1rem;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.footer-widget-area h3,
.footer-widget-area h4,
.footer-widget-area h5 {
    color: #ffffff;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
    font-size: 1rem;
    font-weight: 600;
}

.footer-widget-area .textwidget {
    font-size: 0.95rem;
}

/* Clearer list styling for custom lists */
.footer-widget-area ul:not(.menu) {
    list-style: none;
    /* Keep cleaner look, or use disk if preferred */
    padding-left: 0;
}

.footer-widget-area ul:not(.menu) li {
    padding-left: 0;
}

/* Footer Social Icons */
/* Footer Social Icons */
.footer-social-icons {
    display: flex;
    gap: 0.75rem;
    margin-top: 1.5rem;
    flex-wrap: wrap;
}

.footer-widget-area .footer-social-icon {
    display: flex !important;
    /* Force override of generic link styles */
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.7);
    border-radius: 50%;
    /* Circle */
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    text-decoration: none;
    padding: 0;
    line-height: 1;
    box-sizing: border-box;
}

.footer-widget-area .footer-social-icon svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
    transition: transform 0.3s ease;
    display: block;
    /* Remove inline baseline ghost space */
}

.footer-widget-area .footer-social-icon:hover {
    background: var(--color-primary);
    color: #ffffff;
    transform: translateY(-3px);
    box-shadow: 0 4px 15px rgba(21, 73, 223, 0.4);
    border-color: rgba(255, 255, 255, 0.1);
}

.footer-widget-area .footer-social-icon:hover svg {
    transform: scale(1.1);
}

/* Footer Column Alignment */
.footer-widgets {
    /* Push widgets 2 & 3 to the right by giving widget 1 massive space */
    /* 1fr (auto) + fixed + fixed. Tighter 170px width and 1rem gap. */
    grid-template-columns: 1fr 170px 170px;
    gap: 1rem;
    /* Very close spacing */
}

/* Footer Area 1 - Branding/Image Refinement */
.footer-area-1 img,
.footer-area-1 .widget_media_image img,
.footer-area-1 .wp-caption img {
    /* max-width: 200px; */
    width: auto;
    height: 40px;
    margin-bottom: 1.5rem;
    box-shadow: none;
    /* Remove box shadow for cleaner logo look */
    border-radius: 0;
    /* Remove border radius for logos */
    display: block;
}

/* Reset text alignment to left, but keep them structurally on the right via grid */
.footer-area-2,
.footer-area-3 {
    text-align: left;
}

/* Footer 2/3 Widget Title */
.footer-area-2 .widget-title,
.footer-area-3 .widget-title {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(255, 255, 255, 0.5);
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 1rem;
}

/* Footer 2/3 List items */
.footer-area-2 ul,
.footer-area-3 ul {
    align-items: flex-start;
}

.footer-area-2 li,
.footer-area-3 li {
    margin-bottom: 0.5rem;
    padding-bottom: 0;
    border-bottom: none;
}

.footer-area-2 a,
.footer-area-3 a {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.75);
    padding: 0.25rem 0;
    padding-left: 1rem;
    display: inline-block;
    position: relative;
}

.footer-area-2 a::before,
.footer-area-3 a::before {
    content: '›';
    position: absolute;
    left: 0;
    color: var(--color-primary);
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.4;
    transition: transform 0.2s ease;
}

.footer-area-2 a:hover,
.footer-area-3 a:hover {
    color: #ffffff;
    transform: none;
    text-shadow: none;
}

/* Post Date in Widgets */
.footer-widget-area .post-date {
    display: block;
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.4);
    margin-top: 0.25rem;
}

/* Tag Cloud Widget */
.footer-widget-area .tagcloud {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.footer-widget-area .tagcloud a {
    display: inline-block;
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.8);
    padding: 0.25rem 0.75rem;
    border-radius: 999px;
    font-size: 0.8rem !important;
    /* Override inline font sizes */
    border: 1px solid rgba(255, 255, 255, 0.1);
    text-decoration: none;
    transition: all 0.2s ease;
}

.footer-widget-area .tagcloud a:hover {
    background: var(--color-primary);
    color: #ffffff;
    border-color: var(--color-primary);
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

/* Calendar Widget */
.footer-widget-area .wp-calendar-table {
    width: 100%;
    border-collapse: collapse;
    color: rgba(255, 255, 255, 0.8);
}

.footer-widget-area .wp-calendar-table caption {
    caption-side: top;
    text-align: left;
    margin-bottom: 0.5rem;
    color: rgba(255, 255, 255, 0.6);
}

.footer-widget-area .wp-calendar-table th,
.footer-widget-area .wp-calendar-table td {
    padding: 0.5rem;
    text-align: center;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-widget-area .wp-calendar-table th {
    background: rgba(255, 255, 255, 0.05);
    font-weight: 600;
}

.footer-widget-area .wp-calendar-table td#today {
    background: var(--color-primary);
    color: #ffffff;
    font-weight: bold;
}

/* Search Widget in Footer */
.footer-widget-area .search-form {
    display: flex;
    gap: 0.5rem;
}

.footer-widget-area .search-field {
    width: 100%;
    padding: 0.75rem;
    border-radius: var(--radius-sm);
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.05);
    color: #ffffff;
}

.footer-widget-area .search-field:focus {
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--color-primary);
    outline: none;
}

.footer-widget-area .search-submit {
    background: var(--color-primary);
    color: #ffffff;
    border: none;
    padding: 0 1rem;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: background 0.2s;
}

.footer-widget-area .search-submit:hover {
    background: var(--color-primary-hover);
}

.site-info {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 1.5rem var(--spacing-sm);
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.85rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.site-info a {
    color: rgba(255, 255, 255, 0.8);
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s;
}

.site-info a:hover {
    color: var(--color-primary-light, #60a5fa);
}

/* ------------------------------------------------------------------------- *
 *  7. Responsive
 * ------------------------------------------------------------------------- */
@media (min-width: 769px) {
    .footer-area-2 {
        margin-left: -1.5rem;
    }
}

@media (max-width: 768px) {
    :root {
        --font-size-h1: 2rem;
        --font-size-h2: 1.75rem;
    }

    .main-navigation ul {
        display: none;
        /* Hide by default on mobile, toggle with JS */
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--color-secondary);
        /* Keep mobile menu dark for now, or switch to white if preferred */
        padding: var(--spacing-md);
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        z-index: 100;
        gap: 0;
        /* Reset gap for mobile stack */
    }

    .main-navigation.toggled ul {
        display: flex;
    }

    /* Reset Dropdown Styles for Mobile */
    .main-navigation ul ul,
    .main-navigation ul ul ul,
    .main-navigation ul ul.submenu-flip,
    .main-navigation ul ul ul.submenu-flip {
        position: static;
        min-width: auto;
        box-shadow: none;
        padding: 0;
        background: transparent;
        opacity: 1;
        visibility: visible;
        transform: none;
        left: auto;
        right: auto;
        padding-left: var(--spacing-sm);
        border: 0;
        border-left: 1px solid rgba(255, 255, 255, 0.1);
        margin-left: 0.5rem;
        margin-top: 0.5rem;
    }

    .main-navigation ul ul a {
        color: rgba(255, 255, 255, 0.8);
        /* Revert to light text for mobile dark menu */
    }

    .main-navigation ul ul a {
        padding: 0.5rem 0;
        font-size: 0.9rem;
    }

    .menu-toggle {
        display: block;
    }

    .site-header {
        position: sticky;
        top: 0;
        /* Context for absolute nav */
    }

    .footer-widgets {
        grid-template-columns: 1fr 1fr;
        padding-top: var(--spacing-lg);
        padding-right: 0.25rem;
        padding-left: 0.25rem;
        gap: 0.5rem;
        text-align: center;
    }

    .footer-area-1 {
        grid-column: 1 / -1;
    }

    .footer-area-1 .footer-social-icons {
        justify-content: center;
    }

    .footer-area-1 img,
    .footer-area-1 .widget_media_image img,
    .footer-area-1 .wp-caption img {
        margin-left: auto;
        margin-right: auto;
    }

    .footer-area-2,
    .footer-area-3 {
        text-align: left;
    }

    .footer-area-3 {
        margin-left: -1rem;
    }

    .footer-area-2 ul,
    .footer-area-3 ul {
        align-items: flex-start;
    }

    .footer-area-2 a:hover,
    .footer-area-3 a:hover {
        transform: translateY(-2px);
    }

    .footer-area-2 a,
    .footer-area-3 a {
        padding-left: 0.75rem;
    }

    .site-info {
        flex-direction: column;
        gap: var(--spacing-sm);
        text-align: center;
    }
}

/* =========================================================================
 * Mobile Hero Improvements
 * ========================================================================= */
@media (max-width: 767px) {

    .hero-section {
        margin-bottom: 0;
        /* More space bottom */
        padding-top: 0;
    }

    /* 1. Main Hero Proportions */
    .hero-main {
        position: relative;
        width: 100%;
        height: auto;
        aspect-ratio: 4/3;
        /* Better than 1:1, traditional photo ratio */
        min-height: 280px;
    }

    .hero-post-large {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }

    /* 2. Carousel for Small Posts */
    .hero-grid {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
        overflow: visible;
        /* CRITICAL FIX: Allow carousel to bleed edges */
        box-shadow: none;
        /* Remove any shadow from wrapper */
    }

    .hero-side {
        display: flex;
        flex-direction: row;
        gap: 1rem;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        padding: 0 5% 1.5rem 5%;
        /* Horizontal padding for first/last item visibility + bottom padding */
        margin: 0 -1rem;
        /* Break out of container padding */
        width: auto;
        /* Ensure explicit width calculation */
        max-width: none;
        /* Hard Stop */

        /* Reset Styles from Tablet View */
        background: transparent;
        height: auto;
        border: none;

        /* Scrollbar Hiding */
        scrollbar-width: none;
        /* Firefox */
        -ms-overflow-style: none;
        /* IE/Edge */
        -webkit-overflow-scrolling: touch;
    }

    .hero-side::-webkit-scrollbar {
        display: none;
    }

    /* Carousel Items (Cards) */
    .hero-post-small {
        flex: 0 0 85%;
        /* Shows 85% of card */
        min-width: 85%;
        scroll-snap-align: center;

        display: flex;
        flex-direction: column;
        /* Vertical Card Layout */

        background: var(--color-secondary);
        border-radius: var(--radius-md);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
        border: 1px solid rgba(255, 255, 255, 0.05);
        overflow: hidden;
        height: auto;
        padding: 0;
        margin: 0;
    }

    .hero-post-small .hero-link {
        display: flex;
        /* Ensure flex context */
        flex-direction: column;
        align-items: stretch;
        padding: 0;
        gap: 0;
        height: 100%;
    }

    .hero-post-small .hero-image {
        width: 100%;
        height: 180px;
        /* Fixed height for visual consistency */
        max-width: none;
        /* Override any max-width limits */
        border: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        border-radius: var(--radius-md) var(--radius-md) 0 0;
        /* Top rounded only */
    }

    .hero-post-small .hero-content {
        padding: 1.25rem;
        padding-right: 1.25rem;
        /* Reset override */
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
    }

    .hero-post-small .hero-meta {
        font-size: 0.7rem;
        margin-bottom: 0.5rem;
    }

    .hero-post-small .hero-title {
        font-size: 1.1rem;
        line-height: 1.35;
        margin: 0;
        /* Allow slightly more text on cards */
        -webkit-line-clamp: 3;
        color: #ffffff !important;
        /* High contrast against dark card */
    }
}

/* ------------------------------------------------------------------------- *
 *  Timeline Layout (Home & Archive)
 * ------------------------------------------------------------------------- */
.post-grid {
    display: flex;
    flex-direction: column;
    position: relative;
    padding-left: 3rem;
    /* Increased space for cleaner look */
}

/* Vertical Line */
.post-grid::before {
    content: '';
    position: absolute;
    top: 4.5rem;
    /* Precise start behind first badge */
    /* Start line lower to match first date badge */
    bottom: 0;
    left: 1rem;
    /* Align line with new spacing */
    width: 2px;
    background: #e2e8f0;
    z-index: 0;
}

/* Date Separator Container */
/* Date Separator Container - Clean & Integrated */
.timeline-date-separator {
    position: relative;
    margin: 0.75rem 0 0.75rem -3rem;
    /* Equal spacing - same as card gap */
    padding-left: 3rem;
    /* Match grid padding */
    display: flex;
    align-items: center;
    z-index: 10;
}

/* Latest Header Design */
.latest-header {
    font-size: 2rem;
    font-weight: 800;
    color: var(--color-primary);
    margin: 0;
    line-height: 1;
    letter-spacing: -0.03em;
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

/* Date Connector Dot */
.timeline-date-separator::before {
    content: '';
    position: absolute;
    /* Center on the vertical line (left: 1rem) */
    /* Line width is 2px. Center is 1rem + 1px. */
    /* Dot is 10px. Left = 1rem + 1px - 5px = calc(1rem - 4px) */
    left: calc(1rem - 4px);
    top: 50%;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    background: var(--color-primary);
    /* Brand blue dot */
    border-radius: 50%;
    z-index: 5;
    box-shadow: 0 0 0 4px #fff;
    /* White nimbus to break the line */
}

/* Horizontal Line (Subtle) */
/* Horizontal Line (Subtle) */
.timeline-date-separator::after {
    /* Large horizontal break */
    content: '';
    flex: 1;
    height: 1px;
    background: #e2e8f0;
    margin-left: 1rem;
    display: block;
}

/* Date Badge Design - Premium Floating Pill */
/* Date Badge Design - Arrow Shape */
.date-badge {
    display: inline-block;
    background: #ffffff !important;
    color: var(--color-text-main);
    padding: 0.5rem 1.75rem 0.5rem 1rem;
    /* Extra right padding balance? No, arrow is on left. */
    padding: 0.5rem 1.5rem;
    border-radius: 4px;
    /* Slight rounding for softness */
    font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: 0.02em;
    text-transform: capitalize;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    border: 1px solid #e2e8f0;
    position: relative;
    z-index: 2;
    margin-left: 1rem;
    /* Space for the arrow tip */
}

/* Arrow Tip */
.date-badge::before {
    content: '';
    position: absolute;
    top: 50%;
    left: -6px;
    /* Position tip outside */
    transform: translateY(-50%) rotate(45deg);
    width: 12px;
    height: 12px;
    background: #ffffff;
    border-left: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
    /* Create the arrow pointing left */
}

.date-badge:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    color: var(--color-primary);
}

/* Timeline Item Container */
.timeline-item {
    position: relative;
    margin-bottom: 1rem;
    /* Consistent spacing between posts */
}

.timeline-item:last-child {
    margin-bottom: 0;
}

/* Timeline Marker (Dot) */
.timeline-marker {
    position: absolute;
    top: 1.5rem;
    left: -2.4rem;
    /* Accurately positioned based on padding-left: 3rem and line at 1rem */
    width: 14px;
    height: 14px;
    background: #fff;
    border: 3px solid var(--color-primary);
    border-radius: 50%;
    z-index: 1;
    box-shadow: 0 0 0 4px var(--color-bg-body);
}

/* Timeline Content (The Card) */
/* Timeline Content (The Card) */
.timeline-content {
    background: var(--color-bg-card);
    border-radius: 2px;
    /* Sharper for professional look */
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    /* Subtle shadow */
    transition: all 0.2s ease;
    overflow: hidden;
}

/* Hide any elements after article (legacy footer cleanup) */
.timeline-content>article~*,
.timeline-content>footer,
.timeline-content>.entry-footer {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    visibility: hidden !important;
    overflow: hidden !important;
}

.timeline-content:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    border-color: rgba(21, 73, 223, 0.2);
}

/* Card Layout */
.timeline-content article {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    /* Allow footer to wrap */
    align-items: stretch;
    gap: 1.5rem;
    padding: 1.5rem;
    /* Override article.post styles */
    margin-bottom: 0;
    padding-bottom: 1.5rem;
    border-bottom: none;
}

.entry-wrapper {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    /* Prevent overflow */
}



/* Visual Column (Image + Category) */
.entry-visual {
    flex: 0 0 260px;
    align-self: flex-start;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    /* Tighter grouping */
    position: relative;
}

.timeline-content .post-thumbnail {
    width: 100%;
    /* Fill visual container */
    align-self: flex-start;
    /* Prevent vertical stretching */
    position: relative;
    overflow: hidden;
}

.timeline-content .post-thumbnail img {
    height: auto;
    /* Allow natural height */
    width: 100%;
    /* Fill width of container */
    object-fit: contain;
    /* Or just remove object-fit since height is auto */
    position: relative;
    /* Remove absolute */
    transition: transform 0.5s ease;
}

.timeline-content:hover .post-thumbnail img {
    transform: scale(1.05);
    /* Zoom effect */
}

/* Category List Under Image */
.entry-categories {
    font-size: 0.7rem;
    line-height: 1.2;
    text-align: left;
    /* text-transform: uppercase; removed */
    /* Professional Badge Style */
    letter-spacing: 0.5px;
}

.entry-categories a {
    display: inline-block;
    background: rgba(21, 73, 223, 0.08);
    /* Subtle background */
    color: var(--color-primary);
    padding: 0.2rem 0.4rem;
    /* Compact padding */
    border-radius: 0;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.2s;
    margin-right: 0.25rem;
    margin-bottom: 0.25rem;
}

.entry-categories a:hover {
    background: var(--color-primary);
    color: #fff;
}

/* Visual Meta (Author & Date) */
.visual-meta {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    /* Tighter meta spacing */
    font-size: 0.8rem;
    color: var(--color-text-muted);
    margin-top: 0.1rem;
}

.visual-meta-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.visual-meta img.avatar {
    width: 20px;
    /* Smaller, sharper avatar */
    height: 20px;
    border-radius: 50%;
    object-fit: cover;
}

.visual-meta .author-name {
    font-weight: 600;
    color: var(--color-text-main);
    font-size: 0.8rem;
}

.visual-meta .posted-on {
    font-size: 0.75rem;
    color: #94a3b8;
    /* Lighter slate for date */
    font-weight: 500;
}

.timeline-content .entry-header {
    padding: 0;
    width: 100%;
}

.timeline-content .entry-title {
    font-size: 1.5rem;
    margin-bottom: 0.25rem;
    /* Tighter gap with excerpt */
    font-weight: 700;
    line-height: 1.3;
}

.timeline-content .entry-title a {
    color: var(--color-text-main);
    text-decoration: none;
    transition: color 0.2s;
}

.timeline-content .entry-title a:hover {
    color: var(--color-primary);
}

.timeline-content .entry-meta {
    font-size: 0.85rem;
    color: var(--color-text-muted);
    margin-bottom: 0.75rem;
}

/* Deprecated old entry-meta */
.timeline-content .entry-meta {
    display: none;
}

.timeline-content .entry-content {
    display: block;
    /* Show excerpt for logic */
    padding: 0;
    /* Remove all padding */
    color: var(--color-text-muted);
    font-size: 0.95rem;
    line-height: 1.6;
    flex: 1;
}

/* Simplified Content if Excerpt is empty/hidden */
.timeline-content .entry-content:empty {
    display: none;
}

/* Entry Footer (Meta row below article) - Hidden in timeline context */
.timeline-content .entry-footer {
    display: none;
}

.entry-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0 1.5rem 1.5rem 1.5rem;
    /* Top 0, bottom 1.5rem */
    margin-bottom: 0;
}

/* Entry Meta Row (Inside article - for consistent AJAX rendering) */
.entry-meta-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    width: 100%;
    padding: 1.5rem 0 0 0;
    margin-top: 0.5rem;
    border-top: 1px solid var(--color-border);
}

.entry-footer .entry-categories {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.entry-footer .entry-categories a {
    display: inline-block;
    background: rgba(21, 73, 223, 0.08);
    color: var(--color-primary);
    padding: 0.15rem 0.4rem;
    border-radius: 3px;
    font-weight: 700;
    text-decoration: none;
    margin-right: 0.25rem;
}

.entry-meta-footer {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.75rem;
    color: var(--color-text-muted);
}

.entry-meta-footer img.avatar {
    width: 24px;
    height: 24px;
    border-radius: 50%;
}

.entry-meta-footer .author-name {
    font-weight: 500;
    color: var(--color-text-main);
}

.entry-meta-footer .meta-separator {
    color: #cbd5e1;
}

.entry-meta-footer .posted-on {
    color: #94a3b8;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .post-grid {
        padding-left: 0;
        /* Remove padding on mobile */
    }

    .post-grid::before {
        display: none;
        /* Hide vertical line */
    }

    .timeline-date-separator {
        margin-left: 0;
        padding-left: 0;
    }

    .timeline-date-separator::before {
        display: none;
        /* Hide dot on date separator */
    }

    .date-badge {
        font-size: 0.75rem;
        padding: 0.4rem 1rem;
        margin-left: 0;
        margin-bottom: 0.5rem;
    }

    .date-badge::before {
        top: auto;
        bottom: -6px;
        left: 50%;
        transform: translateX(-50%) rotate(45deg);
        border-left: 0;
        border-top: 0;
        border-right: 1px solid #e2e8f0;
        border-bottom: 1px solid #e2e8f0;
    }

    .timeline-marker {
        display: none;
        /* Hide dots */
    }

    .timeline-content article {
        flex-direction: column;
        /* Stack vertically on small screens */
    }

    .timeline-content article {
        flex-direction: column;
        /* Stack vertically on small screens */
    }

    .entry-wrapper {
        display: block;
    }

    .entry-visual {
        flex: 0 0 auto;
        width: 100%;
        gap: 0;
        /* Reset gap */
    }

    .timeline-content .post-thumbnail {
        height: auto;
        width: 100%;
        margin-bottom: 0.5rem;
    }

    .entry-categories {
        padding: 0 1rem;
        margin-bottom: 0.5rem;
    }

    .visual-meta {
        padding: 0 1rem;
        flex-direction: row;
        /* Horizontal on mobile? Or keep stacked? */
        align-items: center;
        gap: 1rem;
        margin-bottom: 1rem;
    }

    .timeline-content .entry-header {
        padding: 0 0 0.5rem 0;
    }

    .timeline-content .entry-content {
        padding: 0;
    }
}

/* Load More Button - Icon Style */
.load-more-container {
    display: flex;
    justify-content: center;
    /* padding: var(--spacing-lg) 0; */
    margin-top: var(--spacing-md);
}

.load-more-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    padding: 0;
    border-radius: 50%;
    background-color: var(--color-bg-card);
    border: 1px solid var(--color-border);
    color: var(--color-primary);
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.load-more-btn svg {
    width: 24px;
    height: 24px;
    transition: transform 0.2s ease;
}

.load-more-btn:hover {
    background-color: var(--color-primary);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(21, 73, 223, 0.2);
}

.load-more-btn:hover svg {
    transform: rotate(180deg);
}

.load-more-btn:disabled,
.load-more-btn.disabled {
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
    background-color: var(--color-bg-body);
}

/* ------------------------------------------------------------------------- *
 *  Highlights Section (Editor's Picks) - Premium Editorial
 * ------------------------------------------------------------------------- */
.highlights-section {
    width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
    padding: 4rem 0;
    margin-bottom: 0;
    margin-top: 2rem;
    background: var(--color-secondary);
    /* Solid Dark Slate */
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

/* Remove decorative backgrounds for cleaner professional look */
.highlights-section::before {
    display: none;
}

.highlights-container {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--spacing-sm);
    position: relative;
    z-index: 2;
}

/* Header */
.highlights-header {
    display: flex;
    flex-direction: column;
    /* Stack for underline effect */
    align-items: flex-start;
    margin-bottom: 2.5rem;
    gap: 0.75rem;
    padding-bottom: 0;
    border-bottom: none;
}

.highlights-title {
    font-family: var(--font-heading);
    font-size: 1.75rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    margin: 0;
    line-height: 1.2;
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: inline-block;
}

.highlights-decoration {
    display: block;
    width: 3rem;
    height: 3px;
    background: var(--color-primary-light, #60a5fa);
    border-radius: 2px;
}

/* Grid */
.highlights-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
}

/* Card - Clean & Minimal */
.highlight-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: transparent;
    border: none;
    border-radius: 0;
}

.highlight-card:hover {
    transform: none;
    background: transparent;
    box-shadow: none;
}

.highlight-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

/* Updated Image Wrapper for Separate Link */
.highlight-image-wrapper {
    position: relative;
    width: 100%;
    padding-top: 66.67%;
    /* 3:2 Standard Aspect Ratio */
    overflow: hidden;
    background: #0f172a;
    border: 1px solid rgba(255, 255, 255, 0.08);
    /* More subtle border */
    border-radius: 0;
    margin-bottom: 1rem;
    /* More breathing room */
}

.highlight-image-link {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.highlight-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    /* Smoother bezier */
    opacity: 0.95;
    backface-visibility: hidden;
    border-radius: 0 !important;
    /* Force sharp corners globally */
}

.highlight-card:hover .highlight-image img {
    transform: scale(1.03);
    /* Very subtle zoom */
    opacity: 1;
}

.highlight-content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding: 0;
}

.highlight-cat {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--color-primary-light, #60a5fa);
    margin-bottom: 0.5rem;
    display: block;
    line-height: 1;
}

.highlight-cat a {
    color: inherit;
    text-decoration: none;
}

.highlight-post-title {
    font-size: 1.05rem;
    /* Precise size */
    font-weight: 600;
    /* Lighter weight for elegance */
    line-height: 1.4;
    /* Better readability */
    margin: 0;
    font-family: var(--font-heading);
    color: #e2e8f0;
    /* Slightly softened white */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.highlight-post-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}

.highlight-post-title a:hover {
    color: #ffffff;
    /* Brighten on hover rather than color shift */
}

/* Responsive */
@media (max-width: 1024px) {
    .highlights-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .highlights-section {
        padding: 3rem 0;
    }

    .highlights-container {
        padding: 0;
    }

    .highlights-header {
        padding: 0 1.5rem 1rem 1.5rem;
    }

    .highlights-grid {
        display: flex;
        overflow-x: auto;
        padding: 0 1.5rem 1.5rem 1.5rem;
        scroll-snap-type: x mandatory;
        gap: 1.5rem;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .highlights-grid::-webkit-scrollbar {
        display: none;
    }

    .highlight-card {
        min-width: 280px;
        scroll-snap-align: center;
        /* Center snap focus */
    }
}

/* ------------------------------------------------------------------------- *
 *  Widget: Popular Posts (Q26) - Premium Card Design  
 * ------------------------------------------------------------------------- */

/* Container Card */
.popular-posts-container {
    background: var(--color-secondary);
    border-radius: 0;
    padding: 1.5rem;
    box-shadow: 0 4px 20px -5px rgba(0, 0, 0, 0.2);
    position: relative;
    overflow: hidden;
}

/* Decorative Accent */
.popular-posts-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--gradient-primary);
}

/* Title - Gradient Style like "Latest" */
.popular-posts-title {
    font-family: var(--font-heading);
    font-size: 1.75rem;
    font-weight: 800;
    margin: 0 0 1.25rem 0;
    line-height: 1.5;
    letter-spacing: -0.03em;
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: inline-block;
}

/* Posts List */
.popular-posts-container .popular-posts-list {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: popular-rank;
}

.popular-posts-container .popular-posts-list li {
    position: relative;
    padding: 0.875rem 0 0.875rem 2.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    display: flex;
    align-items: center;
}

.popular-posts-container .popular-posts-list li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.popular-posts-container .popular-posts-list li:first-child {
    padding-top: 0;
}

/* Rank Number */
.popular-posts-container .popular-posts-list li::before {
    counter-increment: popular-rank;
    content: counter(popular-rank);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1;
    width: 1.75rem;
    text-align: left;
    color: rgba(255, 255, 255, 0.2);
}

/* Top 3 Colored Ranks */
.popular-posts-container .popular-posts-list li:nth-child(1)::before {
    color: #fbbf24;
    /* Gold */
}

.popular-posts-container .popular-posts-list li:nth-child(2)::before {
    color: #94a3b8;
    /* Silver */
}

.popular-posts-container .popular-posts-list li:nth-child(3)::before {
    color: #d97706;
    /* Bronze */
}

/* Post Links */
.popular-posts-container .popular-posts-list a {
    font-family: var(--font-body);
    font-weight: 500;
    font-size: 0.9rem;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.popular-posts-container .popular-posts-list a:hover {
    color: #60a5fa;
    padding-left: 0;
    text-shadow: none;
}

/* No animation on hover for rank */
.popular-posts-container .popular-posts-list li:hover::before {
    color: #60a5fa;
}

/* Legacy Fallback for direct widget class */
.widget_q26_popular_posts ol {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: popular-rank;
}

.widget_q26_popular_posts li {
    position: relative;
    padding: 0.75rem 0 0.75rem 3rem;
    border-bottom: 1px solid var(--color-border);
    min-height: 3.5rem;
    display: flex;
    align-items: center;
}

.widget_q26_popular_posts li:last-child {
    border-bottom: none;
}

.widget_q26_popular_posts li::before {
    counter-increment: popular-rank;
    content: counter(popular-rank);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-family: var(--font-heading);
    font-size: 2rem;
    font-weight: 800;
    line-height: 1;
    color: #e2e8f0;
    transition: color 0.3s ease;
    width: 2rem;
    text-align: center;
}

.widget_q26_popular_posts li:nth-child(1)::before {
    color: #f59e0b;
}

.widget_q26_popular_posts li:nth-child(2)::before {
    color: #94a3b8;
}

.widget_q26_popular_posts li:nth-child(3)::before {
    color: #cbd5e1;
}

.widget_q26_popular_posts a {
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.3;
    color: var(--color-text-main);
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.widget_q26_popular_posts a:hover {
    color: var(--color-primary);
}

.widget_q26_popular_posts li:hover::before {
    color: var(--color-primary);
    opacity: 0.5;
}

/* ------------------------------------------------------------------------- *
 *  Single Post - Professional Media Layout
 * ------------------------------------------------------------------------- */

/* Main container */
.single-post-main .content-column {
    max-width: 100%;
    margin-top: 0;
    overflow: hidden;
    min-width: 0;
}

.single-post-main .widget-area {
    margin-top: 0;
    position: sticky;
    top: calc(var(--header-height) + 16px);
    align-self: start;
}

.single-post-main .widget-area .widget:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Specific inner container resets */
.single-post-main .widget-area .widget:first-child .popular-posts-container,
.single-post-main .widget-area .widget:first-child .send-tips-widget {
    margin-top: 0 !important;
}

/* Article Container */
.single-post-article {
    background: var(--color-bg-card);
    border-radius: 0;
    margin-bottom: var(--spacing-lg);
    max-width: 100%;
    margin-top: 0 !important;
    overflow: hidden;
}

/* Breadcrumb */
.article-breadcrumb {
    margin-bottom: var(--spacing-md);
}

/* Yoast Breadcrumbs - Modern Design */
.yoast-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--color-text-muted);
    line-height: 1.5;
}

.yoast-breadcrumbs a {
    color: var(--color-text-muted);
    text-decoration: none;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    transition: all 0.2s ease;
    background: rgba(0, 0, 0, 0.03);
}

.yoast-breadcrumbs a:hover {
    color: var(--color-primary);
    background: rgba(59, 130, 246, 0.1);
}

/* Separator styling */
.yoast-breadcrumbs span:not(.breadcrumb_last):not(:first-child)::before {
    content: none;
}

/* Current page (last item) */
.yoast-breadcrumbs span.breadcrumb_last {
    color: var(--color-text-main);
    font-weight: 600;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    max-width: 300px;
}

/* Separator arrows */
.yoast-breadcrumbs .breadcrumb-separator,
.yoast-breadcrumbs>span:not(.breadcrumb_last):not(:first-child) {
    color: var(--color-text-muted);
    opacity: 0.5;
    font-size: 0.75rem;
}

/* Home icon styling */
.yoast-breadcrumbs a[href*="/"]:first-of-type {
    display: inline-flex;
    align-items: center;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .article-breadcrumb {
        margin-bottom: var(--spacing-sm);
    }

    .yoast-breadcrumbs {
        font-size: 0.8rem;
        gap: 0.35rem;
    }

    .yoast-breadcrumbs a {
        padding: 0.2rem 0.4rem;
    }

    .yoast-breadcrumbs span.breadcrumb_last {
        max-width: 180px;
        font-size: 0.8rem;
    }
}

@media (max-width: 480px) {
    .yoast-breadcrumbs {
        font-size: 0.75rem;
    }

    .yoast-breadcrumbs a {
        padding: 0.15rem 0.35rem;
    }

    .yoast-breadcrumbs span.breadcrumb_last {
        max-width: 140px;
    }
}

/* Fallback breadcrumb category (when Yoast is not active) */
.breadcrumb-category {
    display: inline-block;
    background: var(--color-primary);
    color: #fff !important;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    padding: 0.4rem 1rem;
    border-radius: 0;
    text-decoration: none !important;
    transition: background-color 0.2s;
}

.breadcrumb-category:hover {
    background: var(--color-primary-hover);
}

/* Article Header */
.single-entry-header {
    margin-bottom: var(--spacing-md);
}

.single-entry-title {
    font-family: var(--font-heading);
    font-size: 2.25rem;
    font-weight: 800;
    line-height: 1.2;
    color: var(--color-text-main);
    margin: 0 0 var(--spacing-sm) 0;
    letter-spacing: -0.02em;
}

/* Article Meta */
.single-entry-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: var(--spacing-sm) 0;
    border-top: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
}

/* Meta Actions - Share & Copy Buttons */
.meta-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Share Buttons */
.share-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: #f1f5f9;
    border: none;
    border-radius: 0;
    color: var(--color-text-muted);
    text-decoration: none;
    transition: all 0.2s;
}

.share-btn:hover {
    color: #fff;
}

.share-btn.share-facebook:hover {
    background: #1877f2;
}

.share-btn.share-twitter:hover {
    background: #000;
}

.share-btn.share-whatsapp:hover {
    background: #25d366;
}

.copy-url-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: #f1f5f9;
    border: none;
    border-radius: 0;
    cursor: pointer;
    font-family: var(--font-body);
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--color-text-muted);
    transition: all 0.2s;
}

.copy-url-btn:hover {
    background: var(--color-primary);
    color: #fff;
}

.copy-url-btn svg {
    flex-shrink: 0;
}

.copy-url-btn .copied-label {
    display: none;
}

.copy-url-btn.copied {
    background: #10b981;
    color: #fff;
}

.copy-url-btn.copied .copy-label {
    display: none;
}

.copy-url-btn.copied .copied-label {
    display: inline;
}

/* Mobile - Icon only for copy button */
@media (max-width: 768px) {
    .copy-url-btn {
        padding: 0.5rem;
    }

    .copy-url-btn .copy-label,
    .copy-url-btn .copied-label {
        display: none !important;
    }
}

.meta-author {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.meta-author img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

.author-info {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.author-info .author-name a {
    font-weight: 600;
    color: var(--color-text-main);
    text-decoration: none;
    font-size: 0.95rem;
}

.author-info .author-name a:hover {
    color: var(--color-primary);
}

.meta-details {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: var(--color-text-muted);
}

.meta-details .meta-separator {
    color: var(--color-text-muted);
}

.reading-time {
    color: var(--color-text-muted);
}

/* Featured Image */
.single-featured-image {
    margin: 0 0 var(--spacing-md) 0;
    border-radius: 0;
    overflow: hidden;
    background: var(--color-secondary);
}

.single-featured-image img {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 16/9;
    object-fit: cover;
    border-radius: 0;
}

.single-featured-image figcaption {
    padding: 0.75rem 1rem;
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.85);
    font-style: normal;
    text-align: left;
    background: var(--color-secondary);
    line-height: 1.5;
    margin: 0;
}

/* Article Content - Typography Optimized for Reading */
.single-entry-content {
    font-family: var(--font-body);
    font-size: 1.125rem;
    line-height: 1.8;
    color: var(--color-text-main);
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

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

.single-entry-content h2 {
    font-family: var(--font-heading);
    font-size: 1.75rem;
    font-weight: 700;
    margin: 2.5rem 0 1rem 0;
    color: var(--color-text-main);
    line-height: 1.3;
}

.single-entry-content h3 {
    font-family: var(--font-heading);
    font-size: 1.35rem;
    font-weight: 600;
    margin: 2rem 0 0.75rem 0;
    color: var(--color-text-main);
    line-height: 1.35;
}

.single-entry-content h4 {
    font-family: var(--font-heading);
    font-size: 1.15rem;
    font-weight: 600;
    margin: 1.5rem 0 0.5rem 0;
    color: var(--color-text-main);
}

.single-entry-content a {
    color: var(--color-primary);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.single-entry-content a:hover {
    color: var(--color-primary-hover);
}

.single-entry-content ul,
.single-entry-content ol {
    margin: 1.5rem 0;
    padding-left: 1.5rem;
}

.single-entry-content li {
    margin-bottom: 0.5rem;
}

.single-entry-content blockquote {
    margin: 2rem 0;
    padding: 1.5rem 2rem;
    background: #f8fafc;
    border-left: 4px solid var(--color-primary);
    font-style: italic;
    font-size: 1.1rem;
    color: var(--color-text-muted);
}

.single-entry-content blockquote p:last-child {
    margin-bottom: 0;
}

.single-entry-content pre,
.single-entry-content code {
    font-family: 'JetBrains Mono', 'Fira Code', Consolas, monospace;
    font-size: 0.9rem;
}

.single-entry-content code {
    background: #f1f5f9;
    padding: 0.2rem 0.4rem;
    border-radius: 4px;
}

.single-entry-content pre {
    background: #1e293b;
    color: #e2e8f0;
    padding: 1.5rem;
    border-radius: var(--radius-sm);
    overflow-x: auto;
    margin: 1.5rem 0;
}

.single-entry-content pre code {
    background: transparent;
    padding: 0;
    color: inherit;
}

.single-entry-content img {
    max-width: 100%;
    height: auto;
    display: block;
}

.single-entry-content figure {
    margin: 2rem 0;
    border-radius: 0;
    overflow: hidden;
    /* background: var(--color-secondary); REMOVED per user request */
}

.single-entry-content figure img {
    margin: 0;
    border-radius: 0;
}

.single-entry-content figcaption {
    font-size: 0.8rem;
    color: var(--color-text-muted);
    /* Changed from white to dark for visibility */
    text-align: left;
    margin: 0;
    padding: 0.75rem 1rem;
    font-style: normal;
    /* background: var(--color-secondary); REMOVED per user request */
    line-height: 1.5;
}

/* Page Links (multi-page posts) */
.single-entry-content .page-links {
    margin: 2rem 0;
    padding: 1rem;
    background: #f8fafc;
    border-radius: var(--radius-sm);
    font-weight: 600;
}

/* Article Footer / Tags */
.single-entry-footer {
    margin-top: var(--spacing-md);
    padding-top: var(--spacing-md);
    border-top: 1px solid var(--color-border);
}

.article-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.tags-label {
    font-weight: 600;
    color: var(--color-text-muted);
    font-size: 0.9rem;
    margin-right: 0.25rem;
}

.tag-link {
    display: inline-block;
    background: #f1f5f9;
    color: var(--color-text-muted) !important;
    font-size: 0.8rem;
    font-weight: 500;
    padding: 0.35rem 0.75rem;
    border-radius: 0;
    text-decoration: none !important;
    transition: all 0.2s;
}

.tag-link:hover {
    background: var(--color-primary);
    color: #fff !important;
}

/* Share Section */
.article-share {
    margin-top: var(--spacing-md);
    padding-top: var(--spacing-md);
    border-top: 1px solid var(--color-border);
    border-bottom: none;
}

/* Author Card */
.author-card {
    display: flex;
    gap: 1.5rem;
    margin-top: var(--spacing-lg);
    padding: var(--spacing-md);
    background: #f8fafc;
    border: 1px solid var(--color-border);
}

.author-card-avatar img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
}

.author-card-info {
    flex: 1;
}

.author-card-header {
    margin-bottom: 0.5rem;
}

.author-card-label {
    display: block;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-text-muted);
    margin-bottom: 0.25rem;
}

.author-card-name {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    font-family: var(--font-heading);
}

.author-card-name a {
    color: var(--color-text-main);
    text-decoration: none;
}

.author-card-name a:hover {
    color: var(--color-primary);
}

.author-card-bio {
    margin: 0.75rem 0;
    font-size: 0.95rem;
    color: var(--color-text-muted);
    line-height: 1.6;
}

.author-card-link {
    display: inline-block;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--color-primary);
    text-decoration: none;
}

.author-card-link:hover {
    text-decoration: underline;
}

/* Mobile responsive for author card */
@media (max-width: 480px) {
    .author-card {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 1rem;
        padding: var(--spacing-sm);
    }

    .author-card-avatar img {
        width: 64px;
        height: 64px;
    }
}

/* Related Articles */
.related-articles {
    margin-top: var(--spacing-md);
    padding-top: 0;
}

.related-articles-title {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--color-text-main);
    margin: 0 0 var(--spacing-md) 0;
}

.related-articles-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.related-article-card {
    display: flex;
    flex-direction: column;
    background: var(--color-bg-card);
    border: 1px solid var(--color-border);
    border-radius: 0;
    overflow: hidden;
    transition: transform 0.2s, box-shadow 0.2s;
}

.related-article-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
}

.related-article-image {
    display: block;
    aspect-ratio: 16/9;
    overflow: hidden;
    border-radius: 0;
}

.related-article-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
    transition: transform 0.3s;
}

.related-article-card:hover .related-article-image img {
    transform: scale(1.05);
}

.related-article-content {
    padding: 1rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.related-article-title {
    margin: 0 0 0.5rem 0;
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
}

.related-article-title a {
    color: var(--color-text-main);
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.related-article-title a:hover {
    color: var(--color-primary);
}

.related-article-date {
    font-size: 0.75rem;
    color: var(--color-text-muted);
    margin-top: auto;
}

/* Mobile responsive for related articles */
@media (max-width: 768px) {
    .related-articles-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .related-article-card {
        flex-direction: row;
    }

    .related-article-image {
        width: 120px;
        flex-shrink: 0;
        aspect-ratio: 1/1;
    }

    .related-article-content {
        padding: 0.75rem;
    }
}

.share-label {
    display: block;
    font-weight: 600;
    color: var(--color-text-main);
    font-size: 0.95rem;
    margin-bottom: 1rem;
}

.share-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.share-btn-lg {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 1.25rem;
    background: #f1f5f9;
    border: none;
    border-radius: 0;
    color: var(--color-text-muted);
    text-decoration: none !important;
    font-size: 0.875rem;
    font-weight: 500;
    transition: all 0.2s;
}

.share-btn-lg svg {
    flex-shrink: 0;
}

.share-btn-lg:hover {
    color: #fff;
    transform: translateY(-2px);
}

.share-btn-lg.share-facebook:hover {
    background: #1877f2;
}

.share-btn-lg.share-twitter:hover {
    background: #000;
}

.share-btn-lg.share-whatsapp:hover {
    background: #25d366;
}

.share-btn-lg.share-telegram:hover {
    background: #0088cc;
}

.share-btn-lg.share-linkedin:hover {
    background: #0077b5;
}

.share-btn-lg.share-pinterest:hover {
    background: #e60023;
}

/* Mobile responsive for share buttons */
@media (max-width: 768px) {
    .share-btn-lg span {
        display: none;
    }

    .share-btn-lg {
        width: 44px;
        height: 44px;
        justify-content: center;
        padding: 0;
    }
}

/* Post Navigation */
.single-post-navigation {
    margin-top: var(--spacing-lg);
    padding: var(--spacing-md) 0;
    border-top: 2px solid var(--color-border);
}

.single-post-navigation .nav-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-md);
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
}

.single-post-navigation .nav-previous,
.single-post-navigation .nav-next {
    display: flex;
    align-items: center;
}

.single-post-navigation .nav-previous {
    justify-content: flex-start;
}

.single-post-navigation .nav-next {
    justify-content: flex-end;
    text-align: right;
}

.single-post-navigation a {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: #f8fafc;
    border-radius: var(--radius-sm);
    text-decoration: none;
    transition: all 0.2s;
    min-width: 0;
    flex: 1;
}

.single-post-navigation .nav-next a {
    flex-direction: row;
    justify-content: flex-end;
}

.single-post-navigation a:hover {
    background: #f1f5f9;
    transform: translateY(-2px);
}

.single-post-navigation .nav-icon {
    font-size: 1.5rem;
    color: var(--color-primary);
    flex-shrink: 0;
}

.single-post-navigation .nav-content {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.single-post-navigation .nav-subtitle {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-text-muted);
    font-weight: 600;
}

.single-post-navigation .nav-title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--color-text-main);
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Mobile Responsive - Single Post */
@media (max-width: 768px) {

    /* Safari iOS fix - ensure all containers respect viewport */
    .single-post-main {
        max-width: 100vw;
        overflow-x: hidden;
    }

    .single-post-main .posts-layout {
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
    }

    /* Ensure consistent horizontal padding on mobile */
    .single-post-main .content-column {
        padding: 0;
        min-width: 0;
        max-width: 100%;
    }

    .single-post-article {
        padding-left: 0;
        padding-right: 0;
        min-width: 0;
        width: 100%;
        max-width: 100%;
    }

    /* Fix content sticking to edges - ensure proper box model */
    .single-entry-content,
    .single-entry-header,
    .single-entry-footer,
    .article-breadcrumb,
    .article-share,
    .related-articles {
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        overflow: hidden;
    }

    .single-entry-title {
        font-size: 1.75rem;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }

    .single-entry-content {
        font-size: 1rem;
        overflow-wrap: break-word;
        word-wrap: break-word;
        word-break: break-word;
    }

    .single-entry-content h2 {
        font-size: 1.5rem;
    }

    .single-entry-content h3 {
        font-size: 1.2rem;
    }

    .single-entry-content blockquote {
        padding: 1rem 1.25rem;
    }

    /* Fix meta section on mobile - prevent content sticking to right */
    .single-entry-meta {
        flex-wrap: wrap;
        gap: 0.75rem;
    }

    .meta-author {
        flex: 1;
        min-width: 0;
    }

    .author-info {
        min-width: 0;
    }

    .meta-details {
        flex-wrap: wrap;
    }

    /* Featured image proper sizing on mobile */
    .single-featured-image {
        margin-left: 0;
        margin-right: 0;
    }

    .single-featured-image img {
        width: 100%;
        max-width: 100%;
    }

    .single-post-navigation .nav-links {
        grid-template-columns: 1fr;
        gap: var(--spacing-sm);
    }

    .single-post-navigation .nav-next {
        justify-content: flex-start;
        text-align: left;
    }

    .single-post-navigation .nav-next a {
        flex-direction: row-reverse;
        justify-content: flex-start;
    }

    .meta-author img {
        width: 36px;
        height: 36px;
    }
}

/* ------------------------------------------------------------------------- *
 *  Comments Section - Premium Editorial Style
 * ------------------------------------------------------------------------- */
.comments-area {
    padding-top: var(--spacing-lg);
    border-top: 1px solid var(--color-border);
}

/* Comments Title */
.comments-title {
    font-family: var(--font-heading);
    font-size: var(--font-size-2xl);
    font-weight: 700;
    color: var(--color-text-main);
    margin-bottom: var(--spacing-md);
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.comments-title::before {
    content: '';
    display: inline-block;
    width: 4px;
    height: 1.5em;
    background: var(--color-primary);
    border-radius: 2px;
}

.comments-title span {
    color: var(--color-primary);
    font-weight: 700;
}

/* Comment List */
.comment-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.comment-list .comment {
    margin-bottom: var(--spacing-md);
    padding: 0;
}

/* Individual Comment */
.comment-body {
    position: relative;
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--color-bg-card);
    border-radius: 0;
    border: 1px solid var(--color-border);
    transition: all var(--transition-base);
}

.comment-body:hover {
    border-color: var(--color-primary);
    box-shadow: 0 4px 12px rgba(21, 73, 223, 0.08);
}

/* Comment Meta (Author + Date) */
.comment-meta {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.comment-author {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.comment-author .avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--color-border);
    transition: border-color var(--transition-base);
}

.comment-body:hover .comment-author .avatar {
    border-color: var(--color-primary);
}

.comment-author .fn {
    font-style: normal;
    font-weight: 600;
    font-size: 1rem;
    color: var(--color-text-main);
}

.comment-author .fn a {
    color: inherit;
    text-decoration: none;
}

.comment-author .fn a:hover {
    color: var(--color-primary);
}

.comment-author .says {
    display: none;
}

.comment-metadata {
    margin-left: auto;
}

.comment-metadata a {
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.comment-metadata a:hover {
    color: var(--color-primary);
}

.comment-metadata a::before {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

/* Comment Content */
.comment-content {
    font-size: var(--font-size-base);
    line-height: 1.7;
    color: var(--color-text-main);
}

.comment-content p {
    margin: 0 0 1rem 0;
}

.comment-content p:last-child {
    margin-bottom: 0;
}

/* Reply Link */
.reply {
    margin-top: 1rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--color-border);
}

.comment-reply-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--color-primary);
    padding: 0.5rem 1rem;
    background: rgba(21, 73, 223, 0.05);
    border-radius: 0;
    transition: all var(--transition-base);
    text-decoration: none;
}

.comment-reply-link:hover {
    background: var(--color-primary);
    color: #fff;
    transform: translateY(-1px);
}

.comment-reply-link::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231549df' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 17 4 12 9 7'%3E%3C/polyline%3E%3Cpath d='M20 18v-2a4 4 0 0 0-4-4H4'%3E%3C/path%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    transition: all var(--transition-base);
}

.comment-reply-link:hover::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 17 4 12 9 7'%3E%3C/polyline%3E%3Cpath d='M20 18v-2a4 4 0 0 0-4-4H4'%3E%3C/path%3E%3C/svg%3E");
}

/* Nested Comments (Replies) */
.comment-list .children {
    list-style: none;
    margin: var(--spacing-sm) 0 0 var(--spacing-md);
    padding-left: var(--spacing-md);
    border-left: 2px solid var(--color-border);
}

/* Pingback/Trackback */
.comment-list .pingback,
.comment-list .trackback {
    padding: var(--spacing-sm);
    background: #f8fafc;
    border-radius: 0;
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    border-left: 3px solid var(--color-primary);
}

.comment-list .pingback .comment-body,
.comment-list .trackback .comment-body {
    background: transparent;
    border: none;
    padding: 0;
}

/* Comment Navigation */
.comment-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-sm) 0;
    margin: var(--spacing-md) 0;
    border-top: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
}

.comment-navigation .nav-links {
    display: flex;
    width: 100%;
    justify-content: space-between;
    gap: 1rem;
}

.comment-navigation .nav-previous a,
.comment-navigation .nav-next a {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--color-primary);
    text-decoration: none;
    padding: 0.5rem 1rem;
    border-radius: 0;
    transition: all var(--transition-base);
}

.comment-navigation .nav-previous a:hover,
.comment-navigation .nav-next a:hover {
    background: rgba(21, 73, 223, 0.05);
}

/* No Comments Message */
.no-comments {
    text-align: center;
    padding: var(--spacing-md);
    color: var(--color-text-muted);
    font-style: italic;
    background: #f8fafc;
    border-radius: 0;
}

/* ------------------------------------------------------------------------- *
 *  Comment Form - Modern & Clean
 * ------------------------------------------------------------------------- */
.comment-respond {
    margin-top: var(--spacing-lg);
    padding: var(--spacing-md);
    background: var(--color-bg-card);
    border-radius: 0;
    border: 1px solid var(--color-border);
}

#reply-title {
    font-family: var(--font-heading);
    font-size: var(--font-size-xl);
    font-weight: 700;
    color: var(--color-text-main);
    margin: 0 0 var(--spacing-sm) 0;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

#reply-title::before {
    content: '';
    display: inline-block;
    width: 4px;
    height: 1.2em;
    background: var(--color-primary);
    border-radius: 2px;
}

#reply-title small {
    margin-left: auto;
}

#reply-title small a {
    font-size: var(--font-size-sm);
    font-weight: 500;
    color: var(--color-text-muted);
}

/* Logged-in User Info */
.logged-in-as {
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    margin-bottom: var(--spacing-sm);
    padding: 0.75rem 1rem;
    background: #f8fafc;
    border-radius: 0;
}

.logged-in-as a {
    color: var(--color-primary);
    font-weight: 600;
}

/* Comment Notes */
.comment-notes {
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    margin-bottom: var(--spacing-sm);
}

.required-field-message {
    font-size: var(--font-size-xs);
    color: var(--color-text-muted);
}

/* Form Fields Container */
.comment-form-comment,
.comment-form-author,
.comment-form-email,
.comment-form-url {
    margin-bottom: var(--spacing-sm);
}

.comment-form label {
    display: block;
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--color-text-main);
    margin-bottom: 0.35rem;
}

.comment-form .required {
    color: #ef4444;
    margin-left: 0.15rem;
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
    width: 100%;
    padding: 0.875rem 1rem;
    font-family: var(--font-body);
    font-size: var(--font-size-base);
    color: var(--color-text-main);
    background: #fff;
    border: 1px solid var(--color-border);
    border-radius: 0;
    transition: all var(--transition-base);
}

.comment-form input[type="text"]:focus,
.comment-form input[type="email"]:focus,
.comment-form input[type="url"]:focus,
.comment-form textarea:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(21, 73, 223, 0.1);
}

.comment-form input[type="text"]::placeholder,
.comment-form input[type="email"]::placeholder,
.comment-form input[type="url"]::placeholder,
.comment-form textarea::placeholder {
    color: #94a3b8;
}

.comment-form textarea {
    min-height: 160px;
    resize: vertical;
}

/* Cookies Consent */
.comment-form-cookies-consent {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: var(--spacing-sm);
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
}

.comment-form-cookies-consent input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--color-primary);
    flex-shrink: 0;
    margin-top: 2px;
}

/* Submit Button */
.form-submit {
    margin-top: var(--spacing-sm);
}

.comment-form input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.875rem 2rem;
    font-family: var(--font-body);
    font-size: var(--font-size-base);
    font-weight: 600;
    color: #fff;
    background: var(--color-primary);
    border: none;
    border-radius: 0;
    cursor: pointer;
    transition: all var(--transition-base);
}

.comment-form input[type="submit"]:hover {
    background: var(--color-primary-hover);
    transform: translateY(-2px);
    box-shadow: var(--shadow-glow);
}

.comment-form input[type="submit"]:active {
    transform: translateY(0);
}

/* Mobile Responsive - Comments */
@media (max-width: 768px) {
    .comments-area {
        margin-top: var(--spacing-md);
        padding-top: var(--spacing-md);
    }

    .comments-title {
        font-size: var(--font-size-xl);
    }

    .comment-body {
        padding: var(--spacing-sm);
    }

    .comment-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }

    .comment-metadata {
        margin-left: 0;
    }

    .comment-author .avatar {
        width: 40px;
        height: 40px;
    }

    .comment-list .children {
        margin-left: 0;
        padding-left: var(--spacing-sm);
    }

    .comment-respond {
        padding: var(--spacing-sm);
    }

    #reply-title {
        font-size: var(--font-size-lg);
    }
}

/* Placeholder Image Styling */
/* Placeholder Image Styling */
/* Placeholder Image Styling - Scoped to avoid affecting Footer Logo */
.hero-image img[src*="qerdus_white.svg"],
.post-thumbnail img[src*="qerdus_white.svg"],
.single-featured-image img[src*="qerdus_white.svg"],
.highlight-image img[src*="qerdus_white.svg"],
.related-article-image img[src*="qerdus_white.svg"] {
    background-color: #1549df;
    object-fit: contain !important;
    padding: 5%;
    /* Adjust for responsiveness */
    width: 100%;
    aspect-ratio: 3 / 2;
}

/* ------------------------------------------------------------------------- *
 *  5. Secondary Horizontal Scroll Menu (Professional Ticker)
 * ------------------------------------------------------------------------- */
.mobile-nav-wrapper {
    display: block;
    width: 100%;
    background: #ffffff;
    border-bottom: 1px solid #e2e8f0;
    position: relative;
    /* Not sticky */
    z-index: 800;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
    margin-top: 0;
}

/* Admin bar adjustment removed as it is no longer sticky */

.mobile-nav-wrapper .inner-wrap {
    padding: 0;
    margin: 0 auto;
    width: 100%;
    max-width: var(--container-width, 1280px);
    padding: 0 var(--spacing-sm, 1rem);
}

.mobile-navigation {
    width: 100%;
    overflow: hidden;
}

/* Scroll Container */
.mobile-navigation ul {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    /* Center Vertically */
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    gap: 0;
    padding: 0;
    margin: 0;
    list-style: none;
    background: transparent;
    scrollbar-width: none;
    -ms-overflow-style: none;
    width: 100%;
    height: 48px;
    /* Fixed height for consistency */
}

.mobile-navigation ul::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

.mobile-navigation li {
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    position: relative;
    height: 100%;
}

/* Subtle Separator */
.mobile-navigation li:not(:last-child)::after {
    content: '';
    display: block;
    width: 1px;
    height: 14px;
    /* Small height */
    background-color: #e2e8f0;
    /* Light gray */
    margin: 0 2px;
    /* Breathing room */
}

/* Link Styles */
.mobile-navigation a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 0 1rem;
    font-family: var(--font-heading, sans-serif);
    font-size: 0.9rem;
    /* Increased size */
    font-weight: 600;
    letter-spacing: 0;
    text-transform: capitalize;
    color: #475569;
    /* Slate 600 */
    background-color: transparent;
    border: none;
    white-space: nowrap;
    text-decoration: none;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.mobile-navigation a:hover,
.mobile-navigation a:focus {
    color: var(--color-primary);
    background-color: transparent;
    /* Clean */
}

/* Active State - Underline */
.mobile-navigation .current-menu-item>a {
    color: var(--color-primary, #1549df);
    font-weight: 700;
}

.mobile-navigation .current-menu-item>a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 1rem;
    /* Match padding */
    right: 1rem;
    height: 2px;
    background-color: var(--color-primary);
    border-radius: 2px 2px 0 0;
}

/* Mobile Specific Adjustments */
@media (max-width: 991px) {
    .mobile-nav-wrapper .inner-wrap {
        padding: 0;
        max-width: 100%;
    }

    .mobile-navigation ul {
        padding-left: 0.5rem;
        /* Start offset */
        padding-right: 0.5rem;
    }

    /* Slightly Relaxed Separator on Mobile */
    .mobile-navigation li:not(:last-child)::after {
        margin: 0;
    }
}

@media (max-width: 782px) {
    .admin-bar .mobile-nav-wrapper {
        top: 118px;
    }
}

@media (min-width: 769px) {

    .footer-area-2,
    .footer-area-3 {
        margin-top: -20px;
    }
}

@media (max-width: 991px) {
    .hero-section {
        margin-bottom: 0;
        padding-top: 0;
    }

    .hero-main {
        width: 100%;
        height: auto !important;
        aspect-ratio: 4/3 !important;
        min-height: 280px;
    }

    .hero-post-large {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }

    .hero-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 1.5rem;
        overflow: visible !important;
        box-shadow: none !important;
    }

    /* Carousel Track */
    .hero-side {
        display: flex !important;
        flex-direction: row !important;
        gap: 1rem;
        overflow-x: auto !important;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        padding: 0 5% 1.5rem 5% !important;
        margin: 0 -1rem !important;
        background: transparent !important;
        height: auto !important;
        border: none !important;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .hero-side::-webkit-scrollbar {
        display: none;
    }

    /* Individual Cards */
    .hero-post-small {
        flex: 0 0 85% !important;
        min-width: 85% !important;
        scroll-snap-align: center;
        display: flex !important;
        flex-direction: column !important;
        background: #0f172a !important;
        /* Hardcoded Dark Slate 900 to match desktop */
        border-radius: 0 !important;
        /* SHARP CORNERS */
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
        border: 1px solid rgba(255, 255, 255, 0.05);
        overflow: hidden !important;
        /* Ensure content stays within rounding */
        height: auto;
        padding: 0 !important;
        margin: 0 !important;
    }

    .hero-post-small .hero-link {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 0 !important;
        gap: 0 !important;
        height: 100% !important;
    }

    /* Card Image - SHARP CORNERS */
    .hero-post-small .hero-image {
        width: 100% !important;
        height: 180px !important;
        max-width: none !important;
        border: none !important;
        /* REMOVED border-bottom */
        border-radius: 0 !important;
        /* SHARP CORNERS */
    }

    /* DIRECT IMG TARGET to override any global styles */
    .hero-post-small .hero-image img {
        border-radius: 0 !important;
        border: none !important;
    }

    /* Card Content */
    .hero-post-small .hero-content {
        padding: 1.25rem !important;
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
    }

    .hero-post-small .hero-meta {
        font-size: 0.7rem;
        margin-bottom: 0.5rem;
    }

    .hero-post-small .hero-title {
        font-size: 1.1rem !important;
        line-height: 1.35 !important;
        margin: 0 !important;
        -webkit-line-clamp: 3;
        color: #ffffff !important;
    }
}

/* ------------------------------------------------------------------------- *
 *  Video Embeds - Responsive Fix
 * ------------------------------------------------------------------------- */
.entry-content iframe,
.entry-content object,
.entry-content embed,
.entry-content video,
.single-entry-content iframe,
.single-entry-content object,
.single-entry-content embed,
.single-entry-content video {
    max-width: 100%;
    width: 100%;
    /* Ensure aspect ratio is maintained if height is auto, though usually height is fixed by iframe */
}

/* ------------------------------------------------------------------------- *
 *  Google AdSense - Responsive Fix for Mobile
 * ------------------------------------------------------------------------- */

/* AdSense container elements */
.adsbygoogle,
ins.adsbygoogle,
.entry-content .adsbygoogle,
.single-entry-content .adsbygoogle,
.single-entry-content ins.adsbygoogle {
    display: block;
    max-width: 100% !important;
    width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box;
}

/* Ensure AdSense iframe doesn't overflow */
.adsbygoogle iframe,
ins.adsbygoogle iframe,
.single-entry-content .adsbygoogle iframe,
.single-entry-content ins iframe {
    max-width: 100% !important;
}

/* Fix for any inline ads that might have fixed widths */
.single-entry-content ins,
.entry-content ins {
    max-width: 100%;
    overflow: hidden;
}

/* Mobile-specific ad fixes */
@media (max-width: 768px) {

    .adsbygoogle,
    ins.adsbygoogle,
    .single-entry-content .adsbygoogle,
    .single-entry-content ins.adsbygoogle,
    .entry-content .adsbygoogle {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    /* Ensure ad iframes respect container width */
    .adsbygoogle iframe,
    .single-entry-content iframe[src*="googlesyndication"],
    .single-entry-content iframe[src*="doubleclick"],
    .entry-content iframe[src*="googlesyndication"],
    .entry-content iframe[src*="doubleclick"] {
        max-width: 100% !important;
        width: 100% !important;
    }

    /* Prevent any fixed-width ad containers from overflowing */
    .single-entry-content>div,
    .single-entry-content>p,
    .single-entry-content>figure,
    .single-entry-content>ins {
        max-width: 100%;
        overflow: hidden;
    }
}

/* Force standard aspect ratio if the wrapper block is used */
.wp-block-embed__wrapper {
    position: relative;
}

/* For non-Gutenberg legacy embeds */
.video-container {
    position: relative;
    padding-bottom: 56.25%;
    /* 16:9 */
    height: 0;
    overflow: hidden;
    margin-bottom: var(--spacing-md);
}

.video-container iframe,
.video-container object,
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* ------------------------------------------------------------------------- *
 *  Login Page Styles
 * ------------------------------------------------------------------------- */

/* Minimal Site Layout */
.site-minimal {
    min-height: 100vh;
}

.login-page-wrapper {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    /* 60% wallpaper, 40% form */
    min-height: 100vh;
}

/* Left Side - Wallpaper */
.login-wallpaper {
    position: relative;
    background: var(--color-primary) !important;
    /* Solid brand blue #1549df */
    background-image: none !important;
    /* Override any inline background */
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.login-wallpaper::before {
    content: '';
    position: absolute;
    inset: 0;
    background: transparent;
    /* No overlay - show solid brand blue */
    z-index: 1;
}

/* Decorative Pattern */
.login-wallpaper::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 20% 80%, rgba(255, 255, 255, 0.05) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.08) 0%, transparent 50%),
        radial-gradient(circle at 40% 40%, rgba(255, 255, 255, 0.03) 0%, transparent 30%);
    z-index: 2;
    pointer-events: none;
}

.login-wallpaper-overlay {
    position: relative;
    z-index: 3;
    text-align: center;
    padding: var(--spacing-lg);
}

.login-wallpaper-content {
    color: #ffffff;
}

.login-logo {
    display: inline-block;
    margin-bottom: var(--spacing-md);
}

.login-logo img,
.login-logo-img {
    width: 200px;
    height: auto;
    display: block;
}

.login-site-title {
    font-size: var(--font-size-4xl);
    font-weight: 800;
    color: #ffffff;
    margin: 0;
    letter-spacing: -0.02em;
}

.login-tagline {
    font-size: var(--font-size-lg);
    color: rgba(255, 255, 255, 0.8);
    margin: 0;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
}

/* Right Side - Form Container */
.login-form-container {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    padding: var(--spacing-lg);
    position: relative;
}

.login-form-inner {
    width: 100%;
    max-width: 420px;
}

/* Mobile Logo (hidden on desktop) */
.login-mobile-logo {
    display: none;
    text-align: center;
    margin-bottom: var(--spacing-md);
}

.login-mobile-logo a {
    display: inline-block;
}

.login-mobile-logo img {
    max-height: 40px;
    width: auto;
}

.login-site-name {
    font-family: var(--font-heading);
    font-size: var(--font-size-2xl);
    font-weight: 800;
    color: var(--color-primary);
}

/* Form Header */
.login-form-header {
    margin-bottom: var(--spacing-md);
    text-align: center;
}

.login-title {
    font-size: var(--font-size-3xl);
    font-weight: 800;
    color: var(--color-text-main);
    margin-bottom: var(--spacing-xs);
}

.login-subtitle {
    font-size: var(--font-size-base);
    color: var(--color-text-muted);
    margin: 0;
}

/* Error & Success Messages */
.login-error,
.login-success {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-radius: var(--radius-md);
    margin-bottom: var(--spacing-sm);
    font-size: var(--font-size-sm);
    font-weight: 500;
    animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.login-error {
    background: #fef2f2;
    color: #dc2626;
    border: 1px solid #fecaca;
}

.login-success {
    background: #f0fdf4;
    color: #16a34a;
    border: 1px solid #bbf7d0;
}

/* Form Groups */
.login-form-group {
    margin-bottom: 1.5rem;
}

.login-label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--color-text-main);
    margin-bottom: 0.5rem;
}

.login-label svg {
    color: var(--color-text-muted);
}

.login-input {
    width: 100%;
    padding: 1rem 1.25rem;
    font-size: var(--font-size-base);
    font-family: var(--font-body);
    border: 2px solid var(--color-border);
    border-radius: var(--radius-md);
    background: #ffffff;
    color: var(--color-text-main);
    transition: all var(--transition-base);
}

.login-input:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 4px rgba(21, 73, 223, 0.1);
}

.login-input::placeholder {
    color: #94a3b8;
}

/* Password Field with Toggle */
.login-password-wrapper {
    position: relative;
}

.login-password-wrapper .login-input {
    padding-right: 3rem;
}

.login-password-toggle {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    padding: 0.25rem;
    cursor: pointer;
    color: var(--color-text-muted);
    transition: color var(--transition-base);
}

.login-password-toggle:hover {
    color: var(--color-primary);
}

/* Form Options (Remember Me & Forgot Password) */
.login-form-options {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
}

.login-remember {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: var(--font-size-sm);
    color: var(--color-text-main);
    cursor: pointer;
}

.login-remember input[type="checkbox"] {
    display: none;
}

.login-checkbox-custom {
    width: 20px;
    height: 20px;
    border: 2px solid var(--color-border);
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--transition-base);
    position: relative;
}

.login-remember input[type="checkbox"]:checked+.login-checkbox-custom {
    background: var(--color-primary);
    border-color: var(--color-primary);
}

.login-remember input[type="checkbox"]:checked+.login-checkbox-custom::after {
    content: '';
    width: 6px;
    height: 10px;
    border: 2px solid #fff;
    border-top: none;
    border-left: none;
    transform: rotate(45deg);
    position: absolute;
    top: 2px;
}

.login-forgot-link {
    font-size: var(--font-size-sm);
    color: var(--color-primary);
    font-weight: 500;
    text-decoration: none;
    transition: color var(--transition-base);
}

.login-forgot-link:hover {
    color: var(--color-primary-hover);
    text-decoration: underline;
}

/* Submit Button */
.login-submit-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    font-size: var(--font-size-base);
    font-weight: 600;
    font-family: var(--font-body);
    color: #ffffff;
    background: var(--color-primary);
    border: none;
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: all var(--transition-base);
    box-shadow: var(--shadow-glow);
}

.login-submit-btn:hover {
    background: var(--color-primary-hover);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(21, 73, 223, 0.4);
}

.login-submit-btn:active {
    transform: translateY(0);
}

.login-submit-btn svg {
    transition: transform var(--transition-base);
}

.login-submit-btn:hover svg {
    transform: translateX(4px);
}

/* Register Link */
.login-register-link {
    text-align: center;
    margin-top: var(--spacing-md);
    padding-top: var(--spacing-md);
    border-top: 1px solid var(--color-border);
}

.login-register-link p {
    margin: 0;
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
}

.login-register-link a {
    color: var(--color-primary);
    font-weight: 600;
    text-decoration: none;
}

.login-register-link a:hover {
    text-decoration: underline;
}

/* Back to Home */
.login-back-home {
    text-align: center;
    margin-top: 1.5rem;
}

.login-back-home a {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    text-decoration: none;
    transition: color var(--transition-base);
}

.login-back-home a:hover {
    color: var(--color-primary);
}

.login-back-home a svg {
    transition: transform var(--transition-base);
}

.login-back-home a:hover svg {
    transform: translateX(-4px);
}

/* Responsive - Tablet */
@media (max-width: 1024px) {
    .login-page-wrapper {
        grid-template-columns: 1fr;
    }

    .login-wallpaper {
        display: none;
    }

    .login-mobile-logo {
        display: block !important;
    }

    .login-form-container {
        min-height: 100vh;
    }
}

/* Responsive - Mobile */
@media (max-width: 640px) {
    .login-form-container {
        padding: var(--spacing-sm);
    }

    .login-form-inner {
        padding: 0;
    }

    .login-title {
        font-size: var(--font-size-2xl);
    }

    .login-form-options {
        flex-direction: column;
        gap: 1rem;
        align-items: flex-start;
    }
}