/*
Theme Name: Gürsoy WP Core
Theme URI: https://canimanne.com/
Author: Gürsoy Labs
Author URI: https://canimanne.com/
Description: Gürsoy WP Core - performance-first editorial WordPress theme.
Version: 9.0.35
Requires at least: 6.0
Requires PHP: 8.1
Text Domain: gursoy-wp-core
*/

/* Basic Layout Reset & Styles */
/*
 * Design Token System:
 * These CSS custom properties are derived from canonical tokens in
 * inc/theme-settings/tokens.php. The runtime bridge (bridge.php) will
 * override these values when admin settings are changed.
 *
 * Canonical source: inc/theme-settings/tokens.php
 * Runtime override: inc/theme-settings/bridge.php
 */
:root {
    /* Color Palette - CanimAnne Editorial */
    --color-bg: #ffffff;
    --color-text: #1a1a1a;
    --color-text-muted: #666666;
    --color-accent: #c133a7;
    --color-border: #eeeeee;
    --color-card-shadow: rgba(0, 0, 0, 0.04);
    --color-hero-overlay: rgba(0, 0, 0, 0.4);

    /* Typography */
    --font-serif: "Georgia", "Times New Roman", serif;
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

    /* Spacing */
    --space-xs: 0.5rem;
    --space-sm: 1rem;
    --space-md: 2rem;
    --space-lg: 4rem;
    --space-xl: 6rem;

    /* Transitions */
    --transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

body {
    margin: 0;
    font-family: var(--font-sans);
    line-height: var(--font-leading-body, 1.6);
    color: var(--color-foreground);
    background-color: var(--color-background);
    -webkit-font-smoothing: antialiased;
}

.site {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 var(--space-lg, 1.25rem);
}

header#masthead {
    background: var(--color-background);
    border-bottom: 1px solid var(--color-border);
    position: relative;
    z-index: 1000;
    transition: transform 0.3s ease, background 0.3s ease;
    padding: 0;
    margin-bottom: 0;
}

/* Sticky behavior */
.scroll-down {
    transform: translateY(-100%);
}
.scroll-up {
    transform: translateY(0);
    position: sticky;
    top: 0;
    box-shadow: var(--shadow-header, 0 4px 20px rgba(0,0,0,0.05));
}

.header-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-sm, 0.75rem) var(--space-lg, 1.25rem);
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    align-items: center;
    gap: 1rem;
}

.site-branding {
    text-align: center;
    min-height: 50px; /* Reserve space for logo/title to prevent CLS */
    display: flex;
    align-items: center;
    justify-content: center;
}

.site-branding img {
    max-height: 50px;
    width: auto;
    height: auto;
    display: block;
}

/* -------------------------
   Performance: Layout Reservation (CLS)
   -------------------------*/
.hp-hero-media {
    aspect-ratio: 16 / 9;
    background: var(--color-surface);
    position: relative;
    overflow: hidden;
}

.hp-featured-lead-media {
    aspect-ratio: 3 / 2;
    background: var(--color-surface);
}

.article-featured-media {
    aspect-ratio: 16 / 9;
    background: var(--color-surface);
    overflow: hidden;
}

@media (min-width: 1024px) {
    .hp-hero-media {
        aspect-ratio: 4 / 3;
    }
}

.site-title {
    font-size: 1.5rem;
    font-weight: 800;
    margin: 0;
    line-height: 1;
}

.site-title a {
    color: var(--color-foreground);
    text-decoration: none;
    letter-spacing: var(--font-tracking-tighter, -0.03em);
}

/* Navigation - Mobile Default */
.main-navigation {
    position: fixed;
    top: 0;
    left: -100%;
    width: 85%;
    max-width: 320px;
    height: 100vh;
    background: var(--color-background);
    z-index: 1001;
    transition: var(--transition-smooth);
    padding: 4rem 2rem;
    box-shadow: var(--shadow-nav, 10px 0 30px rgba(0,0,0,0.1));
    overflow-y: auto;
}

.main-navigation.toggled {
    left: 0;
}

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

.main-navigation li {
    margin-bottom: 1.5rem;
}

.main-navigation a {
    text-decoration: none;
    color: var(--color-foreground);
    font-size: 1.25rem;
    font-weight: 700;
    font-family: var(--font-serif);
    transition: var(--transition-smooth);
}

.main-navigation a:hover {
    color: var(--color-accent);
}

/* Hamburger Toggle */
.menu-toggle {
    background: none;
    border: none;
    padding: 10px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 5px;
    /* Keep the toggle above the slide-in panel (z-index: 1001) so it stays
       pointer-accessible as an X button while the mobile menu is open. */
    position: relative;
    z-index: 1002;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--color-foreground);
    border-radius: var(--radius-sm, 2px);
    transition: var(--transition-smooth);
}

.hamburger-inner {
    position: relative;
}
.hamburger-inner::before,
.hamburger-inner::after {
    content: "";
    position: absolute;
}
.hamburger-inner::before { top: -7px; }
.hamburger-inner::after { bottom: -7px; }

.menu-toggle.active .hamburger-inner {
    background: transparent;
}
.menu-toggle.active .hamburger-inner::before {
    transform: translateY(7px) rotate(45deg);
}
.menu-toggle.active .hamburger-inner::after {
    transform: translateY(-7px) rotate(-45deg);
}

/* Search Toggle */
.search-toggle {
    background: none;
    border: none;
    padding: 10px;
    cursor: pointer;
    color: var(--color-foreground);
    transition: var(--transition-smooth);
}

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

/* Search Overlay */
.search-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,0.98);
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition-smooth);
}

.search-overlay.active {
    opacity: 1;
    visibility: visible;
}

.search-overlay-container {
    width: 100%;
    max-width: 600px;
    padding: 2rem;
    position: relative;
}

.search-overlay .search-field {
    width: 100%;
    background: none;
    border: none;
    border-bottom: 3px solid var(--color-foreground);
    font-size: 2rem;
    font-family: var(--font-serif);
    padding: 1rem 0;
    outline: none;
}

.search-overlay .search-submit {
    display: none;
}

.search-close {
    position: absolute;
    top: -2rem;
    right: 2rem;
    background: none;
    border: none;
    font-size: var(--font-size-5xl, 3rem);
    cursor: pointer;
}

.lock-scroll {
    overflow: hidden;
}

/* Desktop Navigation scaling */
@media (min-width: 1024px) {
    .header-container {
        grid-template-columns: auto 1fr auto;
        padding: 1.5rem 2rem;
    }

    .header-mobile-toggle {
        display: none;
    }

    .site-branding {
        text-align: left;
        justify-content: flex-start;
    }

    .site-title {
        font-size: var(--font-size-3xl, 1.75rem);
    }

    .main-navigation {
        position: static;
        height: auto;
        width: auto;
        max-width: none;
        padding: 0;
        box-shadow: none;
        display: flex;
        justify-content: center;
    }

    .main-navigation ul {
        display: flex;
        gap: 2rem;
    }

    .main-navigation li {
        margin-bottom: 0;
    }

    .main-navigation a {
        font-size: var(--font-size-095, 0.95rem);
        font-family: var(--font-sans);
        text-transform: uppercase;
        letter-spacing: var(--font-tracking-wide, 0.05em);
        font-weight: 600;
        color: var(--color-muted);
    }

    .main-navigation a:hover {
        color: var(--color-accent);
    }

    /* Dropdowns */
    .main-navigation ul ul {
        position: absolute;
        top: 100%;
        left: 0;
        background: var(--color-background);
        box-shadow: var(--shadow-lg, 0 10px 30px rgba(0,0,0,0.1));
        padding: 1rem 0;
        min-width: 200px;
        opacity: 0;
        visibility: hidden;
        transition: var(--transition-smooth);
        display: block;
    }

    .main-navigation li:hover > ul,
    .main-navigation li.focus > ul {
        opacity: 1;
        visibility: visible;
    }

    .main-navigation ul ul li {
        margin: 0;
    }

    .main-navigation ul ul a {
        padding: 0.5rem 1.5rem;
        display: block;
        text-transform: none;
        font-family: var(--font-sans);
        font-weight: 500;
        font-size: var(--font-size-09, 0.9rem);
    }
}

/* Skip link */
.skip-link {
    position: absolute;
    top: -100px;
    left: 0;
    background: var(--color-accent);
    color: #fff;
    padding: 1rem;
    z-index: 9999;
}
.skip-link:focus {
    top: 0;
}

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

.screen-reader-text:focus {
    background-color: var(--color-accent);
    clip: auto !important;
    clip-path: none;
    color: #fff;
    display: block;
    font-size: 0.9375rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 1rem;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

footer#colophon {
    margin-top: var(--space-xl);
    padding: var(--space-lg) 0;
    border-top: 1px solid var(--color-border);
    font-size: var(--font-size-09, 0.9rem);
    color: var(--color-muted);
}

/* -------------------------
   Homepage Refinement
   -------------------------*/

.homepage {
    padding-bottom: var(--space-xl);
}

/* Breadcrumbs */
.breadcrumb-nav {
    margin-bottom: 1rem;
}
.breadcrumb-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-size: 0.75rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: var(--font-tracking-wide, 0.05em);
    color: var(--color-muted);
    opacity: 0.8;
}
.breadcrumb-item a {
    text-decoration: none;
    color: inherit;
}
.breadcrumb-item a:hover {
    color: var(--color-accent);
}
.breadcrumb-item .sep {
    margin-left: 0.5rem;
    opacity: 0.3;
}

/* Gutenberg Alignments */
.alignwide {
    margin-left: -5vw;
    margin-right: -5vw;
    max-width: 1100px;
    width: auto;
}

.alignfull {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    max-width: 100vw;
    width: 100vw;
}

/* ==========================================================================
   GÜRSOY WP CORE — Premium Frontend Layout Styles
   H7: Responsive Sidebar Layout
   ========================================================================== */

/* Content Layout: Main + Sidebar grid */
.gs-content-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--sidebar-width, 300px);
    gap: var(--sidebar-gap, 2rem);
    align-items: start;
}

.gs-content-main {
    min-width: 0;
}

.gs-sidebar {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

/* Sidebar widget blocks */
.gs-sidebar-block {
    background: transparent;
    border: 0;
    border-top: 1px solid var(--color-border);
    border-radius: 0;
    padding: 1.25rem 0 0;
}

.gs-sidebar-block-title {
    font-family: var(--font-family-heading);
    font-size: var(--font-size-sm, 0.875rem);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: var(--font-tracking-wide, 0.05em);
    color: var(--color-heading);
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--color-accent);
}

.gs-sidebar-block .gs-card {
    margin-bottom: 1rem;
}

.gs-sidebar-block .gs-card:last-child {
    margin-bottom: 0;
}

/* Sidebar categories list */
.gs-sidebar-categories {
    list-style: none;
    padding: 0;
    margin: 0;
}

.gs-sidebar-categories li {
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--color-border-light, rgba(0,0,0,0.06));
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.gs-sidebar-categories li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.gs-sidebar-categories li:first-child {
    padding-top: 0;
}

.gs-sidebar-categories a {
    text-decoration: none;
    color: var(--color-text);
    font-size: var(--font-size-sm, 0.875rem);
    font-weight: 500;
    transition: color 0.15s ease;
}

.gs-sidebar-categories a:hover {
    color: var(--color-accent);
}

.gs-sidebar-categories .gs-sidebar-cat-count {
    font-size: var(--font-size-xs, 0.75rem);
    color: var(--color-muted);
    background: var(--color-bg-alt, rgba(0,0,0,0.04));
    padding: 0.125rem 0.5rem;
    border-radius: 9999px;
    min-width: 1.5rem;
    text-align: center;
}

/* Sidebar card */
.gs-card--sidebar {
    display: flex;
    gap: 0.75rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--color-border-light, rgba(0,0,0,0.06));
}

.gs-card--sidebar:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.gs-card--sidebar:first-child {
    padding-top: 0;
}

.gs-card--sidebar .gs-card-link {
    display: flex;
    gap: 0.75rem;
    text-decoration: none;
    color: inherit;
    width: 100%;
}

.gs-card--sidebar .gs-card-link:hover .gs-card-title--sidebar {
    color: var(--color-accent);
}

.gs-card--sidebar .gs-media--square {
    width: 64px;
    height: 64px;
    flex-shrink: 0;
    border-radius: var(--radius-sm, 0.25rem);
    overflow: hidden;
}

.gs-card--sidebar .gs-media--square img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gs-card--sidebar .gs-card-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.gs-card--sidebar .gs-card-title--sidebar {
    font-size: var(--font-size-sm, 0.875rem);
    font-weight: 600;
    line-height: 1.3;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Sidebar: Homepage hero full-width override */
.homepage .gs-hero {
    grid-column: 1 / -1;
}

.homepage .gs-content-layout > .gs-content-main > .gs-section:first-child {
    grid-column: 1 / -1;
}

/* ==========================================================================
   GÜRSOY WP CORE — Premium Frontend Layout Styles
   E1: Component Adoption + Frontend Foundation
   E2: Homepage Premium Enhancements
   ========================================================================== */

/* --- Hero Section --- */
.gs-hero {
    margin-bottom: var(--space-2xl, 2rem);
}

.gs-hero-card {
    position: relative;
}

.gs-hero-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.gs-hero-media {
    position: relative;
    border-radius: var(--radius-md, 4px);
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: var(--color-surface, #f7f7f7);
}

.gs-hero-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}

.gs-hero-link:hover .gs-hero-image {
    transform: scale(1.02);
}

.gs-hero-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: var(--space-3xl, 2.5rem) var(--space-xl, 1.5rem) var(--space-lg, 1.25rem);
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.85));
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: var(--space-xs, 0.5rem);
}

.gs-hero-title {
    font-size: clamp(1.5rem, 5vw, 3.5rem);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.02em;
    margin: 0;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.gs-hero-excerpt {
    font-size: var(--font-size-lg, 1.1rem);
    line-height: 1.5;
    margin: 0;
    opacity: 0.9;
    max-width: 600px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.gs-hero-content .gs-meta {
    color: rgba(255, 255, 255, 0.7);
    font-size: var(--font-size-sm, 0.85rem);
}

/* Hero Support Cards
   Was: display:none on mobile (content silently lost). Now visible at every
   breakpoint — same DOM, responsive grid only. */
.gs-hero-support {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-sm, 0.75rem);
    margin-top: var(--space-md, 1rem);
}

.gs-content-layout--homepage {
    row-gap: var(--space-3xl, 2.5rem);
}

.gs-content-layout--homepage > .gs-content-main {
    min-width: 0;
}

.gs-content-layout--homepage > .gs-section--full {
    grid-column: 1 / -1;
}

.gs-hero-support .gs-card--horizontal .gs-card-link {
    display: grid;
    grid-template-columns: minmax(0, 42%) minmax(0, 1fr);
    gap: var(--space-sm, 0.75rem);
    align-items: center;
}

.gs-hero-support .gs-card--horizontal .gs-card-media {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-radius: var(--radius-sm, 4px);
}

.gs-hero-support .gs-card--horizontal .gs-card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gs-hero-layout--hero-3 .gs-hero-support {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gs-hero-layout--large-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(240px, 1fr);
    gap: var(--space-md, 1rem);
    align-items: stretch;
}

.gs-hero-layout--large-grid .gs-hero {
    margin-bottom: 0;
}

.gs-hero-layout--large-grid .gs-hero-support {
    grid-template-columns: 1fr;
    margin-top: 0;
}

@media (max-width: 767px) {
    .gs-hero-layout--large-grid {
        display: block;
    }
    .gs-hero-layout--hero-3 .gs-hero-support {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 768px) {
    .gs-hero-support {
        gap: var(--space-md, 1rem);
    }
}



/* --- Card Grids --- */
.gs-card-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm, 0.75rem);
}

.gs-card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-xl, 1.5rem);
}

.gs-card-grid--4 {
    grid-template-columns: repeat(4, 1fr);
}

.gs-mini-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-lg, 1.25rem);
}

.gs-category-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-2xl, 2rem);
}

/* --- Category Links (404) --- */
.gs-category-links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs, 0.5rem);
}

/* --- Tag List --- */
.gs-tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs, 0.5rem);
    padding-top: var(--space-md, 1rem);
    border-top: 1px solid var(--color-border, #e5e7eb);
}

.gs-tag-list a {
    display: inline-flex;
    align-items: center;
    padding: var(--space-3xs, 5px) var(--space-sm, 0.75rem);
    background: var(--color-surface, #f7f7f7);
    border-radius: var(--radius-sm, 2px);
    font-size: var(--font-size-sm, 0.85rem);
    color: var(--color-content-text, #374151);
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.gs-tag-list a:hover {
    background: var(--color-accent, #0ea5e9);
    color: #fff;
}

/* --- Article Layout (Single) --- */
.gs-article {
    max-width: 780px;
    margin: 0 auto;
}

.gs-article-header {
    margin-bottom: var(--space-xl, 1.5rem);
}

.gs-article-kicker {
    margin-bottom: var(--space-sm, 0.75rem);
}

.gs-article-title {
    font-size: clamp(1.9rem, 3.6vw, 2.35rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin: 0 0 var(--space-md, 1rem);
}

.gs-article-lead {
    font-size: 1.2rem;
    line-height: 1.5;
    color: var(--color-muted, #6b7280);
    margin-bottom: var(--space-md, 1rem);
}

.gs-article-media {
    margin-bottom: var(--space-xl, 1.5rem);
    border-radius: var(--radius-md, 4px);
    overflow: hidden;
}

.gs-article-featured-image {
    width: 100%;
    height: auto;
    display: block;
}

/* Article content width is controlled by .gs-article-body; body stays full-width. */
.gs-article-content {
    font-size: 1.2rem;
    line-height: 1.75;
}

.gs-article-footer {
    margin-top: var(--space-2xl, 2rem);
    padding-top: var(--space-lg, 1.25rem);
    border-top: 1px solid var(--color-border, #e5e7eb);
}

/* --- WordPress Content Elements --- */
.gs-article-content h2 {
    font-size: clamp(1.5rem, 3vw, 1.75rem);
    font-weight: 700;
    line-height: 1.2;
    margin: var(--space-3xl, 2.5rem) 0 var(--space-md, 1rem);
    letter-spacing: -0.01em;
}

.gs-article-content h3 {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.3;
    margin: var(--space-2xl, 2rem) 0 var(--space-sm, 0.75rem);
}

.gs-article-content h4 {
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.4;
    margin: var(--space-xl, 1.5rem) 0 var(--space-xs, 0.5rem);
}

.gs-article-content p {
    margin: 0 0 var(--space-md, 1rem);
}

.gs-article-content a {
    color: var(--color-accent);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.gs-article-content a:hover {
    text-decoration: none;
}

.gs-article-content ul,
.gs-article-content ol {
    margin: 0 0 var(--space-md, 1rem);
    padding-left: var(--space-xl, 1.5rem);
}

.gs-article-content li {
    margin-bottom: 0.25rem;
}

.gs-article-content blockquote {
    margin: var(--space-xl, 1.5rem) 0;
    padding: var(--space-md, 1rem) var(--space-lg, 1.25rem);
    border-left: 3px solid var(--color-accent);
    background: var(--color-surface);
    border-radius: 0 var(--radius-sm, 2px) var(--radius-sm, 2px) 0;
    font-style: italic;
    color: var(--color-muted);
}

.gs-article-content blockquote p:last-child {
    margin-bottom: 0;
}

.gs-article-content figure {
    margin: var(--space-xl, 1.5rem) 0;
}

.gs-article-content figure img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: var(--radius-sm, 2px);
}

.gs-article-content figcaption {
    font-size: 0.8125rem;
    color: var(--color-muted);
    text-align: center;
    margin-top: var(--space-xs, 0.5rem);
}

.gs-article-content .wp-block-image {
    margin: var(--space-xl, 1.5rem) 0;
}

.gs-article-content .wp-block-image img {
    max-width: 100%;
    height: auto;
}

.gs-article-content table {
    width: 100%;
    border-collapse: collapse;
    margin: var(--space-xl, 1.5rem) 0;
    font-size: 0.9375rem;
}

.gs-article-content th,
.gs-article-content td {
    padding: var(--space-xs, 0.5rem) var(--space-sm, 0.75rem);
    border: 1px solid var(--color-border);
    text-align: left;
}

.gs-article-content th {
    font-weight: 600;
    background: var(--color-surface);
}

.gs-article-content code {
    font-family: var(--font-mono, monospace);
    font-size: 0.875em;
    padding: 0.15em 0.4em;
    background: var(--color-surface);
    border-radius: var(--radius-sm, 2px);
}

.gs-article-content pre {
    margin: var(--space-xl, 1.5rem) 0;
    padding: var(--space-md, 1rem);
    background: var(--color-surface);
    border-radius: var(--radius-md, 4px);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.gs-article-content pre code {
    padding: 0;
    background: none;
    font-size: 0.875rem;
    line-height: 1.6;
}

.gs-article-content .page-links {
    margin-top: var(--space-xl, 1.5rem);
    padding-top: var(--space-md, 1rem);
    border-top: 1px solid var(--color-border);
}


/* --- Gutenberg / Block Content Parity --- */
.gs-article-content .alignwide {
    width: min(100%, 1200px);
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.gs-article-content .alignfull {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

.gs-article-content {
    overflow-wrap: anywhere;
    word-break: normal;
}

.gs-article-content .wp-block-table {
    width: 100%;
    max-width: 100%;
    margin: var(--space-xl, 1.5rem) 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.gs-article-content .wp-block-table table {
    width: 100%;
    min-width: 520px;
    border-collapse: collapse;
}

.gs-article-content .wp-block-table th,
.gs-article-content .wp-block-table td {
    padding: .7rem .8rem;
    border: 1px solid var(--color-border, #e5e7eb);
    vertical-align: top;
}

.gs-article-content .wp-block-embed {
    max-width: 100%;
    overflow: hidden;
}

.gs-article-content .wp-block-embed iframe,
.gs-article-content iframe[src*="youtube.com"],
.gs-article-content iframe[src*="youtube-nocookie.com"],
.gs-article-content iframe[src*="youtu.be"],
.gs-article-content iframe[src*="vimeo.com"] {
    max-width: 100%;
    border: 0;
}

.gs-article-content .wp-block-embed iframe {
    aspect-ratio: 16 / 9;
    height: auto;
}

.gs-article-content video,
.gs-article-content audio {
    display: block;
    max-width: 100%;
}

.gs-article-content pre {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.gs-article-content code {
    overflow-wrap: anywhere;
}

.gs-article-content .wp-block-columns {
    display: flex;
    gap: clamp(1rem, 3vw, 2rem);
    margin: var(--space-xl, 1.5rem) 0;
}

.gs-article-content .wp-block-column {
    min-width: 0;
    flex: 1 1 0;
}

.gs-article-content .wp-block-buttons,
.gs-article-content .wp-block-social-links {
    margin: var(--space-xl, 1.5rem) 0;
}

.gs-article-content .wp-block-button__link {
    display: inline-block;
    text-decoration: none;
    border-radius: var(--radius-sm, 2px);
}

.gs-article-content .wp-block-embed,
.gs-article-content .wp-block-video,
.gs-article-content .wp-block-audio {
    margin: var(--space-xl, 1.5rem) 0;
}

.gs-article-content .wp-block-embed iframe,
.gs-article-content .wp-block-video video {
    display: block;
    max-width: 100%;
}

.gs-article-content .wp-block-embed iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    border: 0;
}

.gs-article-content .wp-block-gallery {
    margin: var(--space-xl, 1.5rem) 0;
}

.gs-article-content .wp-block-separator {
    margin: var(--space-2xl, 2rem) auto;
    border: 0;
    border-top: 1px solid var(--color-border, #e5e7eb);
}

.gs-article-content .wp-block-cover,
.gs-article-content .wp-block-media-text {
    margin-top: var(--space-xl, 1.5rem);
    margin-bottom: var(--space-xl, 1.5rem);
}

.gs-article-content .wp-block-table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.gs-article-content .wp-block-table table {
    min-width: 560px;
}

.gs-article-content .wp-block-file {
    margin: var(--space-xl, 1.5rem) 0;
}

.gs-article-content .wp-block-pullquote {
    margin: var(--space-2xl, 2rem) 0;
    padding: var(--space-lg, 1.25rem);
    border-top: 2px solid var(--color-accent);
    border-bottom: 2px solid var(--color-accent);
    text-align: center;
}

@media (max-width: 767px) {
    .gs-article-content .wp-block-columns {
        flex-direction: column;
    }

    .gs-article-content .alignwide,
    .gs-article-content .alignfull {
        width: 100%;
    }
}

/* --- Gutenberg / Block Editor 8.2 compatibility --- */
.gs-article-content .wp-block-columns {
    align-items: stretch;
}

.gs-article-content .wp-block-column {
    min-width: 0;
}

.gs-article-content .wp-block-gallery {
    display: grid;
    gap: 1rem;
    margin-top: var(--space-xl, 1.5rem);
    margin-bottom: var(--space-xl, 1.5rem);
}

.gs-article-content .wp-block-gallery.has-nested-images figure.wp-block-image {
    margin: 0;
}

.gs-article-content .wp-block-cover,
.gs-article-content .wp-block-cover-image {
    min-height: 320px;
    overflow: hidden;
}

.gs-article-content .wp-block-cover__inner-container {
    width: min(100%, 720px);
    margin-left: auto;
    margin-right: auto;
}

.gs-article-content .wp-block-media-text {
    margin-top: var(--space-xl, 1.5rem);
    margin-bottom: var(--space-xl, 1.5rem);
}

.gs-article-content .wp-block-media-text__content {
    min-width: 0;
}

.gs-article-content .wp-block-buttons,
.gs-article-content .wp-block-social-links {
    gap: .75rem;
    align-items: center;
}

.gs-article-content .wp-block-button__link {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.gs-article-content .wp-block-quote,
.gs-article-content .wp-block-pullquote {
    overflow-wrap: anywhere;
}

.gs-article-content .wp-block-code,
.gs-article-content .wp-block-preformatted {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.gs-article-content .wp-block-details {
    margin: var(--space-xl, 1.5rem) 0;
    padding: .75rem 1rem;
    border: 1px solid var(--color-border, #e5e7eb);
    border-radius: var(--radius-sm, 2px);
}

.gs-article-content .wp-block-details summary {
    cursor: pointer;
    font-weight: 700;
}

.gs-article-content .wp-block-separator {
    max-width: 100%;
}

@media (max-width: 767px) {
    .gs-article-content .wp-block-cover,
    .gs-article-content .wp-block-cover-image {
        min-height: 240px;
    }

    .gs-article-content .wp-block-media-text.is-stacked-on-mobile {
        grid-template-columns: 1fr;
    }

    .gs-article-content .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media,
    .gs-article-content .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
        grid-column: 1;
        grid-row: auto;
    }
}

/* --- Article Mobile --- */
@media (max-width: 767px) {
    .gs-article-title {
        font-size: clamp(1.65rem, 5vw, 2rem);
    }

    .gs-article-content {
        font-size: 1.1rem;
    }

    .gs-article-content pre {
        margin-left: calc(-1 * var(--space-md, 1rem));
        margin-right: calc(-1 * var(--space-md, 1rem));
        border-radius: 0;
        padding: var(--space-md, 1rem);
    }
}

.gs-related-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--space-lg, 1.25rem);
}

/* --- Archive Layout --- */
.gs-archive {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--space-lg, 1.25rem);
}

.gs-archive-header {
    margin-bottom: var(--space-2xl, 2rem);
}

.gs-archive-title {
    font-size: clamp(2.5rem, 6vw, 4rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin: 0 0 var(--space-sm, 0.75rem);
    overflow-wrap: break-word;
    word-break: break-word;
}

.gs-archive-description {
    font-size: 1.1rem;
    line-height: 1.5;
    color: var(--color-muted, #6b7280);
    max-width: 600px;
}

.gs-search-meta {
    font-size: var(--font-size-sm, 0.85rem);
    color: var(--color-muted, #6b7280);
    letter-spacing: var(--font-tracking-wider, 0.1em);
    text-transform: uppercase;
}

/* --- Inline Search Form --- */
.gs-search-form-inline {
    margin-bottom: var(--space-2xl, 2rem);
}

.gs-search-form {
    display: flex;
    gap: var(--space-xs, 0.5rem);
    max-width: 600px;
}

.gs-search-input {
    flex: 1;
    min-height: 44px;
    padding: var(--space-xs, 0.5rem) var(--space-sm, 0.75rem);
    font-size: 1rem;
    border: 1px solid var(--color-border, #e5e7eb);
    border-radius: var(--radius-md, 4px);
    background: var(--color-background, #fff);
    color: var(--color-foreground, #111827);
}

.gs-search-input:focus {
    outline: none;
    border-color: var(--color-accent, #0ea5e9);
    box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.15);
}

.gs-search-submit {
    flex-shrink: 0;
    min-height: 44px;
    min-width: 44px;
}

@media (max-width: 767px) {
    .gs-search-form {
        max-width: 100%;
    }
}

/* --- 404 Layout --- */
.gs-404 {
    max-width: 800px;
    margin: 0 auto;
    padding: var(--space-4xl, 3rem) var(--space-lg, 1.25rem);
    text-align: center;
}

.gs-empty--404 {
    padding: var(--space-4xl, 3rem) 0;
}

.gs-empty-icon {
    color: var(--color-muted, #6b7280);
    margin-bottom: var(--space-lg, 1.25rem);
}

.gs-empty-title {
    font-size: clamp(2rem, 5vw, 3rem);
    font-weight: 700;
    margin: 0 0 var(--space-md, 1rem);
    color: var(--color-foreground, #111827);
}

.gs-empty-text {
    font-size: 1.1rem;
    line-height: 1.5;
    color: var(--color-muted, #6b7280);
    margin: 0 0 var(--space-xl, 1.5rem);
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

.gs-empty-actions {
    display: flex;
    justify-content: center;
    gap: var(--space-md, 1rem);
}

.gs-404-search {
    max-width: 500px;
    margin: 0 auto;
}

.gs-404-popular,
.gs-404-categories {
    text-align: left;
}

/* --- Section Spacing --- */
.gs-section {
    margin-bottom: var(--space-3xl, 2.5rem);
}

/* Section spacing presets (Homepage Builder "spacing" control) */
.gs-section--compact {
    margin-bottom: var(--space-2xl, 2rem);
}
.gs-section--standard {
    margin-bottom: var(--space-3xl, 2.5rem);
}
.gs-section--comfortable {
    margin-bottom: var(--space-4xl, 3rem);
}
.gs-section--spacious {
    margin-bottom: var(--space-5xl, 4rem);
}

/* Homepage: hero spans the full grid width above main + sidebar */
.gs-content-layout--homepage > .gs-section--full {
    grid-column: 1 / -1;
}

.gs-section--related {
    margin-top: var(--space-3xl, 2.5rem);
    padding-top: var(--space-2xl, 2rem);
    border-top: 1px solid var(--color-border, #e5e7eb);
}

.gs-section--categories {
    margin-top: var(--space-3xl, 2.5rem);
}

.gs-section-header--compact {
    margin-bottom: var(--space-md, 1rem);
}

/* --- Header (gs-header) --- */
.gs-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(255, 255, 255, 0.98);
    border-bottom: 1px solid var(--color-border, #e5e7eb);
    transition: box-shadow 0.3s ease, background 0.3s ease;
}

.gs-header.scrolled {
    box-shadow: var(--shadow-header, 0 4px 20px rgba(0, 0, 0, 0.05));
}

.gs-header-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 var(--space-lg, 1.25rem);
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 60px;
}

.gs-header-brand {
    flex: 0 0 auto;
}

.gs-header-title {
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 0;
    line-height: 1;
}

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

.gs-header-logo-link {
    display: flex;
    align-items: center;
}

.gs-header-logo {
    display: block;
    height: auto;
}

.gs-header-logo--mobile {
    display: none;
}

@media (max-width: 1023px) {
    .gs-header-logo--desktop {
        display: none;
    }
    .gs-header-logo--mobile {
        display: block;
    }
}

.gs-header--centered .gs-header-inner {
    flex-wrap: wrap;
}

.gs-header--centered .gs-header-brand {
    width: 100%;
    text-align: center;
    order: -1;
}

.gs-header--centered .gs-header-nav {
    width: 100%;
    justify-content: center;
}

.gs-header--magazine .gs-header-inner {
    flex-wrap: wrap;
}

.gs-header--magazine .gs-header-brand {
    width: 100%;
    text-align: center;
    padding: 0.75rem 0;
}

.gs-header--magazine .gs-header-brand .gs-header-logo-link {
    justify-content: center;
}

.gs-header-nav {
    flex: 1 1 auto;
    display: flex;
    justify-content: center;
}

.gs-header-nav ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: var(--space-xl, 1.5rem);
}

.gs-header-nav a {
    font-size: var(--font-size-095, 0.95rem);
    font-weight: 500;
    color: var(--color-content-text, #374151);
    text-decoration: none;
    letter-spacing: var(--font-tracking-wide, 0.05em);
    padding: var(--space-xs, 0.5rem) 0;
    transition: color 0.2s ease;
}

.gs-header-nav a:hover {
    color: var(--color-accent, #0ea5e9);
}

.gs-header-actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: var(--space-md, 1rem);
}

.gs-header-search,
.gs-header-toggle {
    background: none;
    border: none;
    cursor: pointer;
    padding: var(--space-xs, 0.5rem);
    color: var(--color-content-text, #374151);
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
}

.gs-header-toggle {
    display: none;
}

.gs-hamburger {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 24px;
}

.gs-hamburger span {
    display: block;
    height: 2px;
    background: currentColor;
    border-radius: 1px;
    transition: transform 0.3s ease;
}

/* --- Footer (gs-footer) --- */
.gs-footer {
    background: var(--color-foreground, #111827);
    color: rgba(255, 255, 255, 0.8);
    margin-top: var(--space-4xl, 3rem);
}

.gs-footer-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 var(--space-lg, 1.25rem);
}

.gs-footer-top {
    padding: var(--space-2xl, 2rem) 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.gs-footer-brand {
    max-width: 600px;
}

.gs-footer-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 var(--space-sm, 0.75rem);
    letter-spacing: -0.02em;
}

.gs-footer-description {
    font-size: 1.1rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.6);
    margin: 0;
}

.gs-footer-logo-link {
    display: inline-block;
    margin-bottom: var(--space-md, 1rem);
}

.gs-footer-logo {
    display: block;
    height: auto;
}

.gs-footer-social {
    display: flex;
    gap: 1rem;
    padding: var(--space-lg, 1.25rem) 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.gs-footer-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--radius-full, 9999px);
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.7);
    transition: all 0.2s ease;
}

.gs-footer-social-link:hover {
    background: var(--color-accent, #c133a7);
    color: #ffffff;
}



.gs-footer-main {
    padding: var(--space-2xl, 2rem) 0;
}

.gs-footer-grid {
    display: grid;
    grid-template-columns: repeat(var(--footer-columns, 3), 1fr);
    gap: var(--space-3xl, 2.5rem);
}

.gs-footer-heading {
    font-size: var(--font-size-sm, 0.85rem);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: var(--font-tracking-widest, 0.15em);
    color: #fff;
    margin: 0 0 var(--space-lg, 1.25rem);
}

.gs-footer-links {
    list-style: none;
    margin: 0;
    padding: 0;
}

.gs-footer-links li {
    margin-bottom: var(--space-sm, 0.75rem);
}

.gs-footer-links a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    font-size: var(--font-size-095, 0.95rem);
    transition: color 0.2s ease;
}

.gs-footer-links a:hover {
    color: #fff;
}

.gs-footer-bottom {
    padding: var(--space-lg, 1.25rem) 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.gs-footer-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-sm, 0.75rem);
}

.gs-footer-copyright,
.gs-footer-credits {
    font-size: var(--font-size-sm, 0.85rem);
    color: rgba(255, 255, 255, 0.5);
    margin: 0;
}

.gs-footer-credits a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
}

.gs-footer-credits a:hover {
    color: #fff;
}

.gs-footer-sep {
    margin: 0 var(--space-xs, 0.5rem);
    opacity: 0.4;
}

/* Footer Accordion */
.gs-footer-heading--toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    font: inherit;
    color: inherit;
    text-align: left;
}

.gs-footer-toggle-icon {
    position: relative;
    width: 12px;
    height: 12px;
}

.gs-footer-toggle-icon::before,
.gs-footer-toggle-icon::after {
    content: "";
    position: absolute;
    background: currentColor;
    transition: transform 0.2s ease;
}

.gs-footer-toggle-icon::before {
    top: 5px;
    left: 0;
    width: 12px;
    height: 2px;
}

.gs-footer-toggle-icon::after {
    top: 0;
    left: 5px;
    width: 2px;
    height: 12px;
}

.gs-footer-heading--toggle[aria-expanded="true"] .gs-footer-toggle-icon::after {
    transform: rotate(90deg);
}

@media (min-width: 768px) {
    .gs-footer-heading--toggle {
        cursor: default;
    }

    .gs-footer-toggle-icon {
        display: none;
    }

    .gs-footer-column--accordion .gs-footer-column-content {
        display: block !important;
    }
}

/* --- Mobile Responsive --- */
@media (max-width: 767px) {
    .gs-header-nav {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        height: 100dvh;
        background: #ffffff;
        z-index: 1000;
        display: none;
        flex-direction: column;
        overflow-y: auto;
        padding: 0;
        -webkit-overflow-scrolling: touch;
    }

    .gs-header-nav.toggled {
        display: flex;
    }

    .gs-mobile-menu-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 1rem 1.25rem;
        border-bottom: 1px solid var(--color-border, #eeeeee);
        position: sticky;
        top: 0;
        background: #ffffff;
        z-index: 1;
    }

    .gs-mobile-menu-title {
        font-size: 1.1rem;
        font-weight: 700;
        color: var(--color-foreground, #1a1a1a);
    }

    .gs-mobile-menu-close {
        background: none;
        border: none;
        font-size: 1.5rem;
        color: var(--color-muted, #666666);
        cursor: pointer;
        padding: 0.25rem;
        line-height: 1;
        min-width: 44px;
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .gs-mobile-menu-search {
        padding: 1rem 1.25rem;
        border-bottom: 1px solid var(--color-border, #eeeeee);
    }

    .gs-mobile-menu-search .search-form {
        display: flex;
    }

    .gs-mobile-menu-search .search-field {
        flex: 1;
        padding: 0.6rem 0.75rem;
        font-size: 0.95rem;
        border: 1px solid var(--color-border, #eeeeee);
        border-radius: var(--radius-md, 4px) 0 0 var(--radius-md, 4px);
        outline: none;
    }

    .gs-mobile-menu-search .search-submit {
        padding: 0.6rem 1rem;
        background: var(--color-accent, #c133a7);
        color: #ffffff;
        border: none;
        border-radius: 0 var(--radius-md, 4px) var(--radius-md, 4px) 0;
        font-weight: 600;
        cursor: pointer;
    }

    .gs-header-nav ul {
        flex-direction: column;
        gap: 0;
        padding: 0.5rem 0;
        border-bottom: 1px solid var(--color-border, #eeeeee);
    }

    .gs-header-nav ul li {
        border-bottom: none;
    }

    .gs-header-nav ul li a {
        display: block;
        padding: 0.75rem 1.25rem;
        font-size: 1rem;
        color: var(--color-foreground, #1a1a1a);
        border-bottom: 1px solid var(--color-border, #eeeeee);
    }

    .gs-header-nav ul li:last-child a {
        border-bottom: none;
    }

    .gs-header-nav ul li a:hover {
        background: var(--color-surface, #f7f7f7);
        color: var(--color-accent, #c133a7);
    }

    .gs-header-nav ul ul {
        padding-left: 1.5rem;
        border-bottom: none;
    }

    .gs-mobile-menu-section {
        padding: 1rem 1.25rem;
        border-bottom: 1px solid var(--color-border, #eeeeee);
    }

    .gs-mobile-menu-section-title {
        font-size: 0.75rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: var(--color-muted, #666666);
        margin: 0 0 0.75rem;
    }

    .gs-mobile-menu-list {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .gs-mobile-menu-list li {
        margin: 0;
    }

    .gs-mobile-menu-list li a {
        display: block;
        padding: 0.5rem 0;
        color: var(--color-content-text, #333333);
        text-decoration: none;
        font-size: 0.95rem;
        border-bottom: 1px solid var(--color-border, #eeeeee);
    }

    .gs-mobile-menu-list li:last-child a {
        border-bottom: none;
    }

    .gs-mobile-menu-list li a:hover {
        color: var(--color-accent, #c133a7);
    }

    .gs-mobile-menu-section--social {
        border-bottom: none;
    }

    .gs-mobile-menu-social {
        display: flex;
        gap: 1rem;
    }

    .gs-mobile-menu-social-link {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        border-radius: var(--radius-full, 9999px);
        background: var(--color-surface, #f7f7f7);
        color: var(--color-muted, #666666);
        transition: all 0.2s ease;
    }

    .gs-mobile-menu-social-link:hover {
        background: var(--color-accent, #c133a7);
        color: #ffffff;
    }

    .gs-header-toggle {
        display: flex;
    }

    .gs-card-grid,
    .gs-card-grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-sm, 0.75rem);
    }

    /* Cards are now 2-up on mobile — tighten internal spacing so titles
       and meta stay readable instead of ballooning. */
    .gs-card-grid .gs-card-body,
    .gs-card-grid--4 .gs-card-body {
        padding: var(--space-xs, 0.5rem);
    }

    .gs-card-grid .gs-card-title,
    .gs-card-grid--4 .gs-card-title {
        font-size: 0.9375rem;
        line-height: 1.25;
    }

    .gs-card-grid .gs-card-excerpt,
    .gs-card-grid--4 .gs-card-excerpt {
        display: none;
    }

    .gs-card-grid .gs-card-meta,
    .gs-card-grid--4 .gs-card-meta {
        font-size: 0.6875rem;
        gap: 0.35rem;
        flex-wrap: wrap;
        min-width: 0;
    }

    .gs-card-grid .gs-meta,
    .gs-card-grid--4 .gs-meta {
        flex-wrap: wrap;
        min-width: 0;
        row-gap: 0.25rem;
    }

    .gs-card-grid time,
    .gs-card-grid--4 time {
        overflow-wrap: anywhere;
    }

    /* Cards inside 2-up grids stack vertically. Horizontal and mini cards
       are designed for a 1-up list; forcing them into a 140px column
       squeezed the date out of the viewport. */
    .gs-card-grid .gs-card--horizontal .gs-card-link,
    .gs-card-grid--4 .gs-card--horizontal .gs-card-link,
    .gs-hero-support .gs-card--horizontal .gs-card-link,
    .gs-mini-grid .gs-card--mini .gs-card-link,
    .gs-card-grid .gs-card--mini .gs-card-link,
    .gs-card-grid--4 .gs-card--mini .gs-card-link {
        display: block;
    }

    .gs-card-grid .gs-card--horizontal .gs-card-media,
    .gs-card-grid--4 .gs-card--horizontal .gs-card-media,
    .gs-hero-support .gs-card--horizontal .gs-card-media {
        flex: none;
        width: 100%;
    }

    .gs-card-grid .gs-card--horizontal .gs-card-body,
    .gs-card-grid--4 .gs-card--horizontal .gs-card-body,
    .gs-hero-support .gs-card--horizontal .gs-card-body,
    .gs-mini-grid .gs-card--mini .gs-card-body,
    .gs-card-grid .gs-card--mini .gs-card-body,
    .gs-card-grid--4 .gs-card--mini .gs-card-body {
        flex: none;
        display: block;
        padding: var(--space-xs, 0.5rem);
    }

    .gs-mini-grid .gs-card--mini .gs-card-media,
    .gs-hero-support .gs-card--horizontal .gs-card-media,
    .gs-card-grid .gs-card--mini .gs-card-media,
    .gs-card-grid--4 .gs-card--mini .gs-card-media {
        flex: none;
        width: 100%;
    }

    .gs-hero-support .gs-card-title {
        font-size: 0.9375rem;
        line-height: 1.25;
    }

    .gs-hero-support .gs-meta {
        flex-wrap: wrap;
        min-width: 0;
    }

    .gs-mini-grid .gs-card-title,
    .gs-mini-grid .gs-card--mini .gs-card-title {
        font-size: 0.9375rem;
        line-height: 1.25;
    }

    .gs-mini-grid .gs-meta,
    .gs-mini-grid .gs-card-meta {
        flex-wrap: wrap;
        min-width: 0;
    }

    .gs-mini-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .gs-category-grid {
        grid-template-columns: 1fr;
    }

    .gs-content-layout {
        grid-template-columns: 1fr;
    }

    .gs-sidebar {
        order: 10;
        margin-top: 1.5rem;
    }

    .gs-footer-grid {
        grid-template-columns: 1fr !important;
    }

    .gs-footer-info {
        flex-direction: column;
        text-align: center;
    }

    .gs-hero-content {
        padding: var(--space-lg, 1.25rem);
    }

    .gs-hero-title {
        font-size: 1.5rem;
    }

    .gs-hero-excerpt {
        display: none;
    }

    .gs-404 {
        padding: var(--space-2xl, 2rem) var(--space-md, 1rem);
    }

    .gs-related-container {
        padding: 0 var(--space-md, 1rem);
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .gs-header-nav {
        display: none;
    }

    .gs-header-toggle {
        display: none;
    }

    .gs-card-grid,
    .gs-card-grid--4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .gs-footer-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .gs-content-layout {
        grid-template-columns: 1fr;
    }

    .gs-sidebar {
        order: 10;
        margin-top: 2rem;
    }
}

@media (min-width: 1024px) {
    .gs-header-inner {
        height: 70px;
    }

    .gs-header-nav {
        display: flex !important;
        position: static;
        width: auto;
        height: auto;
        background: transparent;
        z-index: auto;
        overflow: visible;
        padding: 0;
        flex-direction: row;
    }

    .gs-header-nav.toggled {
        display: flex !important;
    }

    .gs-mobile-menu-header,
    .gs-mobile-menu-search,
    .gs-mobile-menu-section,
    .gs-mobile-menu-close {
        display: none !important;
    }

    .gs-header-nav ul {
        flex-direction: row;
        gap: var(--space-xl, 1.5rem);
        padding: 0;
        border-bottom: none;
    }

    .gs-header-nav ul li a {
        display: inline;
        padding: var(--space-xs, 0.5rem) 0;
        border-bottom: none;
        font-size: var(--font-size-095, 0.95rem);
        font-weight: 500;
        color: var(--color-content-text, #374151);
    }

    .gs-header-nav ul ul {
        padding-left: 0;
    }

    .gs-footer-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}


/* Gürsoy Editorial mobile refinements */
@media (max-width: 1023px) {
    .gs-content-layout,
    .gs-content-layout--homepage {
        grid-template-columns: minmax(0, 1fr);
    }

    .gs-sidebar {
        order: 20;
    }
}

@media (max-width: 767px) {
    .gs-content-layout--homepage {
        row-gap: 1.75rem;
    }

    .gs-hero-support {
        grid-template-columns: 1fr;
    }

    .gs-hero-support .gs-card--horizontal .gs-card-link {
        grid-template-columns: 34% minmax(0, 1fr);
    }

    .gs-hero-title {
        font-size: clamp(1.45rem, 7vw, 2.35rem);
    }

    .gs-hero-excerpt {
        display: none;
    }
}

/* ==========================================================================\n   GÜRSOY WP CORE — CANIMANNE EDITORIAL V2\n   Product-first homepage/header/sidebar redesign.\n   ========================================================================== */
:root{--gs-max:1280px;--gs-sidebar:320px;--gs-gap:36px;--gs-accent:var(--color-accent,#c133a7);--gs-ink:var(--color-foreground,#202020);--gs-muted:var(--color-muted,#747474);--gs-line:var(--color-border,#e8e4df);--gs-soft:#faf8f5;--gs-radius:10px}
body{background:var(--color-background,#fff);color:var(--gs-ink)}
.gs-header{background:#fff;border-bottom:1px solid rgba(32,32,32,.08);box-shadow:none}
.gs-header-inner{max-width:var(--gs-max);margin:0 auto;min-height:78px;padding:0 24px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}
.gs-header-brand{min-width:0}.gs-header-logo{display:block;max-width:100%;height:auto}.gs-header-title{font-size:28px;line-height:1;font-weight:800;letter-spacing:-.04em;color:var(--gs-ink);margin:0}.gs-header-nav{min-width:0}.gs-header-nav>ul{display:flex;justify-content:center;align-items:center;gap:4px;margin:0;padding:0;list-style:none}.gs-header-nav>ul>li>a{display:block;padding:11px 12px;color:#3f3b38;text-decoration:none;font-size:14px;font-weight:600;border-radius:7px}.gs-header-nav>ul>li>a:hover,.gs-header-nav>ul>li.current-menu-item>a{color:var(--gs-accent);background:var(--gs-soft)}.gs-header-actions{display:flex;align-items:center;gap:8px}.gs-header-search{width:42px;height:42px;border:0;background:transparent;border-radius:50%;display:grid;place-items:center;color:#333}.gs-header-search:hover{background:var(--gs-soft);color:var(--gs-accent)}
.gs-homepage{padding:0 0 70px}.gs-home-container{max-width:var(--gs-max);margin:0 auto;padding:0 24px}.gs-home-ad{display:flex;justify-content:center;align-items:center;min-height:0;margin:18px 0}.gs-home-ad:empty{display:none}.gs-home-ad--top{min-height:90px}.gs-home-ad--between{min-height:90px;margin:34px 0}.gs-home-featured{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:18px;margin:18px 0 44px}.gs-featured-lead{position:relative;display:block;min-height:500px;overflow:hidden;border-radius:var(--gs-radius);color:#fff;text-decoration:none;background:#ddd}.gs-featured-lead__media,.gs-featured-lead__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gs-featured-lead__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04) 25%,rgba(0,0,0,.78) 100%)}.gs-featured-lead__content{position:absolute;left:0;right:0;bottom:0;padding:38px 40px 34px}.gs-editorial-kicker{display:inline-block;margin-bottom:10px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff}.gs-featured-lead h1{font-size:clamp(32px,4vw,52px);line-height:1.03;letter-spacing:-.035em;color:#fff;margin:0 0 12px;max-width:780px}.gs-featured-lead p{max-width:680px;margin:0 0 14px;font-size:16px;line-height:1.55;color:rgba(255,255,255,.9)}.gs-featured-meta{font-size:13px;color:rgba(255,255,255,.72)}.gs-home-featured__rail{display:grid;grid-template-rows:repeat(3,1fr);gap:18px}.gs-editorial-card{min-width:0}.gs-editorial-card__link{display:block;text-decoration:none;color:inherit}.gs-editorial-card__media{position:relative;overflow:hidden;background:#eee;aspect-ratio:16/10;border-radius:var(--gs-radius)}.gs-editorial-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.gs-editorial-card__link:hover .gs-editorial-card__media img{transform:scale(1.025)}.gs-editorial-card__body{padding:12px 2px 0}.gs-editorial-card__category{display:block;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gs-accent);margin-bottom:6px}.gs-editorial-card h3{margin:0;color:var(--gs-ink);font-size:18px;line-height:1.25;letter-spacing:-.015em}.gs-editorial-card time{display:block;margin-top:7px;color:var(--gs-muted);font-size:12px}.gs-editorial-card--feature{display:grid;grid-template-columns:140px minmax(0,1fr);gap:14px;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--gs-line)}.gs-editorial-card--feature:last-child{border-bottom:0;padding-bottom:0}.gs-editorial-card--feature .gs-editorial-card__media{aspect-ratio:1/1;border-radius:8px}.gs-editorial-card--feature .gs-editorial-card__body{padding:0}.gs-editorial-card--feature h3{font-size:17px}.gs-editorial-card--compact{display:grid;grid-template-columns:170px minmax(0,1fr);gap:18px;align-items:center;padding:0 0 18px;border-bottom:1px solid var(--gs-line)}.gs-editorial-card--compact .gs-editorial-card__body{padding:0}.gs-editorial-card--compact h3{font-size:18px}.gs-editorial-card--popular .gs-editorial-card__media{aspect-ratio:4/3}.gs-home-columns{display:grid;grid-template-columns:minmax(0,1fr) var(--gs-sidebar);gap:var(--gs-gap);align-items:start}.gs-home-main{min-width:0}.gs-section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid var(--gs-line)}.gs-section-heading>div{min-width:0}.gs-section-eyebrow{display:block;color:var(--gs-accent);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:5px}.gs-section-heading h2{font-size:27px;line-height:1.1;letter-spacing:-.025em;margin:0;color:var(--gs-ink)}.gs-section-heading>a{flex:0 0 auto;color:var(--gs-ink);font-size:13px;font-weight:700;text-decoration:none}.gs-section-heading>a:hover{color:var(--gs-accent)}.gs-editorial-grid{display:grid;gap:26px}.gs-editorial-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.gs-editorial-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.gs-home-section{margin:0 0 46px}.gs-category-editorial{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:24px}.gs-category-editorial>.gs-editorial-card--category-lead .gs-editorial-card__media{aspect-ratio:16/10}.gs-category-editorial>.gs-editorial-card--category-lead h3{font-size:26px}.gs-category-editorial__list{display:grid;gap:18px}.gs-sidebar{gap:28px}.gs-sidebar-block{border-top:1px solid var(--gs-line);padding-top:16px}.gs-sidebar-block-title{font-family:inherit;font-size:13px;letter-spacing:.12em;text-transform:uppercase;border:0;padding:0;margin:0 0 14px;color:var(--gs-ink)}.gs-sidebar-block-title:after{content:'';display:block;width:36px;height:2px;background:var(--gs-accent);margin-top:8px}.gs-sidebar .gs-card--sidebar{padding:12px 0;border-bottom:1px solid var(--gs-line)}.gs-sidebar .gs-card--sidebar:first-child{padding-top:0}.gs-sidebar .gs-card--sidebar .gs-card-title--sidebar{font-size:14px;line-height:1.35}.gs-sidebar .gs-card--sidebar .gs-media--square{width:78px;height:62px;border-radius:7px}.gs-sidebar-cta,.gs-sidebar-custom-html{padding:18px;background:var(--gs-soft);border-radius:var(--gs-radius)}
@media(max-width:1100px){.gs-header-inner{grid-template-columns:auto 1fr auto}.gs-header-nav>ul>li>a{padding:10px 8px;font-size:13px}.gs-featured-lead{min-height:440px}.gs-home-featured{grid-template-columns:minmax(0,1.5fr) minmax(260px,.75fr)}.gs-home-columns{grid-template-columns:minmax(0,1fr) 280px}.gs-editorial-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.gs-header-inner{grid-template-columns:auto 1fr auto;min-height:70px}.gs-header-nav>ul{display:none}.gs-header-nav{position:fixed}.gs-home-featured{grid-template-columns:1fr}.gs-home-featured__rail{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none}.gs-editorial-card--feature{display:block}.gs-editorial-card--feature .gs-editorial-card__body{padding-top:10px}.gs-home-columns{grid-template-columns:1fr}.gs-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.gs-category-editorial{grid-template-columns:1fr}.gs-editorial-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.gs-home-container{padding:0 16px}.gs-header-inner{padding:0 16px}.gs-featured-lead{min-height:390px}.gs-featured-lead__content{padding:24px 22px}.gs-featured-lead h1{font-size:32px}.gs-featured-lead p{font-size:14px}.gs-home-featured__rail{grid-template-columns:1fr}.gs-editorial-card--feature{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px}.gs-editorial-card--feature .gs-editorial-card__body{padding:0}.gs-editorial-card--feature h3{font-size:16px}.gs-editorial-grid--3,.gs-editorial-grid--4{grid-template-columns:1fr 1fr;gap:18px}.gs-editorial-card h3{font-size:16px}.gs-editorial-card time{font-size:11px}.gs-section-heading{align-items:flex-end}.gs-section-heading h2{font-size:22px}.gs-section-heading>a{font-size:12px}.gs-category-editorial>.gs-editorial-card--category-lead h3{font-size:22px}.gs-sidebar{grid-template-columns:1fr}.gs-home-ad--top,.gs-home-ad--between{min-height:70px;margin:12px 0 22px}}


/* ==========================================================================
   GÜRSOY WP CORE 1.3.0 — HEADER / SEARCH HARDENING + DESIGN TOKEN BINDING
   ========================================================================== */
.gs-search-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.98);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
.gs-search-overlay.active{opacity:1;visibility:visible;pointer-events:auto}
.gs-search-overlay-inner{position:relative;width:min(720px,calc(100% - 40px));padding:30px}
.gs-search-overlay .search-form{display:flex;align-items:stretch;width:100%;margin:0}
.gs-search-overlay .search-field{flex:1;min-width:0;height:58px;padding:0 18px;border:1px solid var(--color-border,#e8e4df);border-right:0;border-radius:var(--radius-md,8px) 0 0 var(--radius-md,8px);background:#fff;color:var(--color-foreground,#202020);font-size:18px;outline:0}
.gs-search-overlay .search-field:focus{border-color:var(--color-accent,#c133a7);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent,#c133a7) 15%,transparent)}
.gs-search-overlay .search-submit{height:58px;padding:0 24px;border:1px solid var(--color-accent,#c133a7);border-radius:0 var(--radius-md,8px) var(--radius-md,8px) 0;background:var(--color-accent,#c133a7);color:#fff;font-weight:700;cursor:pointer}
.gs-search-close{position:absolute;right:0;top:-10px;width:42px;height:42px;border:0;border-radius:50%;background:var(--color-surface,#f7f7f7);color:var(--color-foreground,#202020);font-size:28px;line-height:1;cursor:pointer}

/* Desktop header: one row, nav never collides with search/actions. */
.gs-header-inner{grid-template-columns:minmax(170px,auto) minmax(0,1fr) auto;gap:24px}
.gs-header-brand{overflow:hidden}
.gs-header-logo{max-width:100%;object-fit:contain}
.gs-header-nav{min-width:0;overflow:visible}
.gs-header-nav>ul{flex-wrap:nowrap;white-space:nowrap;overflow:hidden}
.gs-header-nav>ul>li{flex:0 0 auto}
.gs-header-actions{position:relative;z-index:2}
.gs-header-search{flex:0 0 42px}

/* Design System values must visibly drive the editorial layer too. */
.gs-homepage,.gs-home-container{background:var(--color-background,#fff)}
.gs-home-container{max-width:var(--max-width-xl,var(--gs-max))}
.gs-section-heading{border-color:var(--color-border,#e8e4df)}
.gs-sidebar-block,.gs-editorial-card--feature,.gs-editorial-card--compact{border-color:var(--color-border,#e8e4df)}
.gs-editorial-card__category,.gs-section-eyebrow,.gs-section-heading>a:hover{color:var(--color-accent,#c133a7)}
.gs-editorial-card h3,.gs-section-heading h2,.gs-sidebar-block-title,.gs-header-title{color:var(--color-foreground,#202020)}
.gs-editorial-card time,.gs-featured-meta{color:var(--color-muted,#747474)}
.gs-sidebar-cta,.gs-sidebar-custom-html{background:var(--color-surface,#f7f7f7)}
.gs-home-featured .gs-editorial-card--feature{border-color:var(--color-border,#e8e4df)}
.gs-header-nav>ul>li>a{color:var(--color-content-text,var(--color-foreground,#3f3b38))}
.gs-header-nav>ul>li>a:hover,.gs-header-nav>ul>li.current-menu-item>a{color:var(--color-accent,#c133a7);background:var(--color-surface-hover,#f5f5f5)}
.gs-home-featured,.gs-home-columns,.gs-category-editorial,.gs-editorial-grid{gap:var(--gap-lg,var(--gs-gap))}
.gs-featured-lead,.gs-editorial-card__media,.gs-sidebar-cta,.gs-sidebar-custom-html{border-radius:var(--radius-lg,var(--gs-radius))}
.gs-featured-lead,.gs-editorial-card__media{box-shadow:var(--shadow-sm,none)}
body{font-size:var(--font-size-base,1rem);font-family:var(--font-sans,system-ui,sans-serif)}
.gs-featured-lead h1,.gs-section-heading h2,.gs-editorial-card h3{font-family:var(--font-serif,Georgia,serif)}

@media (max-width:1023px){
  .gs-header-inner{grid-template-columns:auto minmax(0,1fr) auto;min-height:70px}
  .gs-header-mobile{display:block}
  .gs-header-toggle{display:flex}
  .gs-header-nav{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;background:#fff;z-index:1000;display:none;flex-direction:column;overflow-y:auto;padding:0}
  .gs-header-nav.toggled{display:flex}
  .gs-header-nav>ul{display:block;overflow:visible;white-space:normal}
  .gs-header-nav>ul>li>a{display:block;padding:14px 20px;border-bottom:1px solid var(--color-border,#eee)}
}
@media (min-width:768px) and (max-width:1023px){
  .gs-mobile-menu-header,.gs-mobile-menu-search,.gs-mobile-menu-section{display:block}
}
@media (max-width:767px){
  .gs-header-inner{grid-template-columns:auto 1fr auto}
  .gs-header-brand{justify-self:center}
  .gs-header-actions{justify-self:end}
  .gs-search-overlay-inner{width:calc(100% - 24px);padding:18px}
  .gs-search-overlay .search-field,.gs-search-overlay .search-submit{height:52px}
}


/* ==========================================================================
   CANIMANNE PORTAL FINAL — 1.3.1
   Poyraz/Safir information architecture, CanimAnne visual language.
   ========================================================================== */

/* Critical global fix: the article reading-width rule must never constrain
   the entire WordPress body. */
html, body, #page, .site {
    width: 100%;
    max-width: none !important;
}
body {
    margin: 0;
    padding: 0 !important;
    background: var(--color-background, #fff);
}
.site {
    margin: 0;
    padding: 0 !important;
}

/* Portal canvas */
:root {
    --ca-width: 1200px;
    --ca-sidebar: 300px;
    --ca-gap: 24px;
    --ca-pink: var(--color-accent, #c133a7);
    --ca-pink-dark: #a20b78;
    --ca-ink: var(--color-foreground, #202020);
    --ca-muted: var(--color-muted, #777);
    --ca-line: var(--color-border, #e7e1e5);
    --ca-soft: var(--color-surface, #faf7fa);
}
.gs-portal-width {
    width: min(var(--ca-width), calc(100% - 32px));
    margin-inline: auto;
}
.gs-portal-header {
    background: #fff;
    border: 0;
    box-shadow: none;
    margin: 0;
    padding: 0;
}
.gs-portal-flash {
    background: var(--ca-pink-dark);
    color: #fff;
    font-size: 12px;
}
.gs-portal-flash .gs-portal-width {
    min-height: 32px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.gs-portal-flash__label {
    font-weight: 800;
    letter-spacing: .08em;
}
.gs-portal-flash__text {
    opacity: .95;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.gs-portal-utility {
    border-bottom: 1px solid #eee;
    background: #fff;
}
.gs-portal-utility__inner {
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.gs-portal-utility__links,
.gs-portal-utility__right {
    display: flex;
    align-items: center;
    gap: 15px;
    min-width: 0;
    overflow: hidden;
}
.gs-portal-utility a {
    color: #686168;
    font-size: 11px;
    text-decoration: none;
    white-space: nowrap;
}
.gs-portal-utility a:hover {
    color: var(--ca-pink);
}
.gs-portal-brandbar {
    background: #fff;
}
.gs-portal-brandbar__inner {
    min-height: 112px;
    display: grid;
    grid-template-columns: 230px minmax(300px, 1fr) 44px;
    align-items: center;
    gap: 28px;
}
.gs-header-brand,
.gs-header-logo-link {
    min-width: 0;
    display: flex;
    align-items: center;
}
.gs-header-logo--mobile {
    display: none;
}
.gs-header-logo {
    height: auto;
    max-width: 100%;
    object-fit: contain;
}
.gs-header-title {
    margin: 0;
    color: var(--ca-ink);
    font-size: 30px;
    font-weight: 800;
}
.gs-portal-mobile-control {
    display: none;
}
.gs-header-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.gs-header-search {
    width: 42px;
    height: 42px;
    padding: 0;
    border: 0;
    background: #fff;
    color: #333;
    border-radius: 50%;
    cursor: pointer;
}
.gs-header-search:hover {
    color: var(--ca-pink);
    background: var(--ca-soft);
}
.gs-portal-navwrap {
    background: var(--ca-pink);
    border-bottom: 3px solid rgba(0,0,0,.08);
}
.gs-portal-nav-inner {
    display: flex;
    align-items: stretch;
    min-height: 48px;
}
.gs-portal-nav-inner > ul {
    display: flex !important;
    align-items: stretch;
    flex: 1 1 auto;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    gap: 0 !important;
    overflow: hidden;
}
.gs-portal-nav-inner > ul > li {
    flex: 0 0 auto;
    position: relative;
    margin: 0 !important;
}
.gs-portal-nav-inner > ul > li > a,
.gs-portal-home-link,
.gs-portal-nav-search {
    height: 48px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 15px !important;
    color: #fff !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-family: var(--font-sans, system-ui, sans-serif);
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    white-space: nowrap;
}
.gs-portal-home-link {
    flex: 0 0 48px;
    padding: 0 !important;
    border-right: 1px solid rgba(255,255,255,.16) !important;
}
.gs-portal-nav-search {
    flex: 0 0 48px;
    margin-left: auto;
    cursor: pointer;
    border-left: 1px solid rgba(255,255,255,.16) !important;
}
.gs-portal-nav-inner > ul > li > a:hover,
.gs-portal-nav-inner > ul > li.current-menu-item > a,
.gs-portal-home-link:hover,
.gs-portal-nav-search:hover {
    background: rgba(0,0,0,.13) !important;
    color: #fff !important;
}
.gs-portal-nav-inner ul ul {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1500;
    min-width: 210px;
    padding: 8px 0 !important;
    background: #fff;
    box-shadow: 0 10px 28px rgba(0,0,0,.16);
    border: 1px solid #eee;
    display: none !important;
}
.gs-portal-nav-inner li:hover > ul,
.gs-portal-nav-inner li.focus > ul {
    display: block !important;
}
.gs-portal-nav-inner ul ul li a {
    display: block;
    padding: 10px 15px;
    color: #333 !important;
    background: #fff !important;
    font-size: 13px;
    text-decoration: none;
    white-space: nowrap;
}
.gs-portal-nav-inner ul ul li a:hover {
    color: var(--ca-pink) !important;
    background: var(--ca-soft) !important;
}
.gs-portal-breaking {
    background: #fafafa;
    border-bottom: 1px solid #e5e5e5;
}
.gs-portal-breaking__inner {
    min-height: 38px;
    display: grid;
    grid-template-columns: 118px minmax(0,1fr) 38px;
    align-items: center;
}
.gs-portal-breaking__inner > strong {
    height: 38px;
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--ca-pink-dark);
    font-size: 11px;
    letter-spacing: .04em;
}
.gs-portal-breaking__items {
    display: flex;
    gap: 28px;
    overflow: hidden;
    white-space: nowrap;
}
.gs-portal-breaking__items a {
    color: #555;
    font-size: 12px;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
}
.gs-portal-breaking__items a:hover {
    color: var(--ca-pink);
}
.gs-portal-breaking__inner > button {
    width: 38px;
    height: 38px;
    border: 0;
    background: transparent;
    color: #555;
    cursor: pointer;
}

/* Search */
.gs-search-overlay {
    z-index: 5000 !important;
}
.gs-search-overlay-inner {
    width: min(720px, calc(100% - 32px)) !important;
    padding: 28px !important;
}
.gs-search-overlay-label {
    margin: 0 0 12px;
    color: var(--ca-pink-dark);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .12em;
}

/* Homepage */
.gs-portal-homepage {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 70px !important;
}
.gs-portal-homepage .gs-portal-width {
    padding-top: 10px;
}
.gs-portal-ad {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 14px 0;
    min-height: 0;
}
.gs-portal-ad:empty {
    display: none;
}
.gs-portal-ad--top {
    min-height: 90px;
}
.gs-portal-lead-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.72fr) minmax(330px, .9fr);
    gap: 8px;
    margin: 8px 0 12px;
}
.gs-portal-lead {
    position: relative;
    min-height: 420px;
    overflow: hidden;
    color: #fff;
    background: #ddd;
    text-decoration: none;
}
.gs-portal-lead__media,
.gs-portal-lead__media img,
.gs-portal-lead__overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.gs-portal-lead__media img {
    object-fit: cover;
    display: block;
}
.gs-portal-lead__overlay {
    background: linear-gradient(180deg, rgba(0,0,0,.02) 25%, rgba(0,0,0,.78) 100%);
}
.gs-portal-lead__content {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 28px 30px 24px;
}
.gs-portal-kicker,
.gs-portal-card__cat {
    display: block;
    color: var(--ca-pink-dark);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.gs-portal-lead .gs-portal-kicker {
    color: #fff;
    margin-bottom: 7px;
}
.gs-portal-lead h1 {
    max-width: 760px;
    margin: 0 0 9px;
    color: #fff;
    font-family: var(--font-serif, Georgia, serif);
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.04;
    letter-spacing: -.03em;
}
.gs-portal-lead p {
    max-width: 680px;
    margin: 0 0 8px;
    color: rgba(255,255,255,.9);
    font-size: 14px;
    line-height: 1.5;
}
.gs-portal-readmore {
    font-size: 12px;
    font-weight: 700;
}
.gs-portal-support-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 8px;
}
.gs-portal-card {
    min-width: 0;
}
.gs-portal-card > a {
    display: block;
    color: inherit;
    text-decoration: none;
}
.gs-portal-card--support {
    position: relative;
    min-height: 206px;
    overflow: hidden;
    background: #ddd;
}
.gs-portal-card--support .gs-portal-card__media,
.gs-portal-card--support .gs-portal-card__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.gs-portal-card--support .gs-portal-card__media img {
    object-fit: cover;
}
.gs-portal-card--support .gs-portal-card__body {
    position: absolute;
    inset: auto 0 0;
    padding: 55px 14px 13px;
    background: linear-gradient(transparent, rgba(0,0,0,.82));
}
.gs-portal-card--support .gs-portal-card__cat {
    color: #fff;
    font-size: 9px;
    margin-bottom: 3px;
}
.gs-portal-card--support h3 {
    margin: 0;
    color: #fff;
    font-family: var(--font-sans, system-ui, sans-serif);
    font-size: 15px;
    line-height: 1.25;
}
.gs-portal-topicbar {
    display: flex;
    overflow-x: auto;
    scrollbar-width: thin;
    margin: 0 0 24px;
}
.gs-portal-topicbar a {
    flex: 1 0 auto;
    min-width: 100px;
    padding: 13px 14px;
    background: var(--ca-pink);
    border-right: 1px solid rgba(255,255,255,.35);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}
.gs-portal-topicbar a:nth-child(2n) { background: #df5b9d; }
.gs-portal-topicbar a:nth-child(3n) { background: #8b74c9; }
.gs-portal-topicbar a:hover { filter: brightness(.95); }
.gs-portal-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--ca-sidebar);
    gap: var(--ca-gap);
    align-items: start;
}
.gs-portal-main {
    min-width: 0;
}
.gs-portal-section {
    margin: 0 0 38px;
}
.gs-portal-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 15px;
    margin: 0 0 14px;
    padding: 0 0 9px;
    border-bottom: 2px solid var(--ca-pink);
}
.gs-portal-section-heading h2 {
    margin: 0;
    color: var(--ca-ink);
    font-family: var(--font-sans, system-ui, sans-serif);
    font-size: 22px;
    line-height: 1.1;
    font-weight: 800;
}
.gs-portal-section-heading a {
    flex: 0 0 auto;
    color: var(--ca-pink-dark);
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
}
.gs-portal-card-grid {
    display: grid;
    gap: 16px;
}
.gs-portal-card-grid--3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.gs-portal-card-grid--4 { grid-template-columns: repeat(4,minmax(0,1fr)); }
.gs-portal-card__media {
    position: relative;
    aspect-ratio: 16/10;
    overflow: hidden;
    background: #eee;
}
.gs-portal-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
}
.gs-portal-card:hover .gs-portal-card__media img {
    transform: scale(1.025);
}
.gs-portal-card__body {
    padding: 8px 0 0;
}
.gs-portal-card__cat {
    margin-bottom: 4px;
}
.gs-portal-card h3 {
    margin: 0;
    color: var(--ca-ink);
    font-family: var(--font-serif, Georgia, serif);
    font-size: 18px;
    line-height: 1.25;
}
.gs-portal-card time {
    display: block;
    margin-top: 6px;
    color: var(--ca-muted);
    font-size: 11px;
}
.gs-portal-card--compact {
    display: grid;
    grid-template-columns: 150px minmax(0,1fr);
    gap: 14px;
    padding: 0 0 13px;
    border-bottom: 1px solid var(--ca-line);
}
.gs-portal-card--compact .gs-portal-card__body {
    padding: 0;
}
.gs-portal-card--compact .gs-portal-card__media {
    aspect-ratio: 16/10;
}
.gs-portal-card--compact h3 {
    font-family: var(--font-sans, system-ui, sans-serif);
    font-size: 15px;
}
.gs-portal-editorial {
    display: grid;
    grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr);
    gap: 20px;
}
.gs-portal-editorial > .gs-portal-card--category-lead h3 {
    font-size: 25px;
}
.gs-portal-editorial__list {
    display: grid;
    gap: 14px;
}

.gs-portal-empty {
    padding: 60px 30px;
    border: 1px dashed var(--ca-line);
    text-align: center;
}

/* Sidebar uses existing block engine but matches portal styling. */
.gs-portal-layout .gs-sidebar {
    display: flex;
    flex-direction: column;
    gap: 22px;
    min-width: 0;
}
.gs-portal-layout .gs-sidebar-block {
    padding-top: 11px;
    border-top: 2px solid var(--ca-pink);
}
.gs-portal-layout .gs-sidebar-block-title {
    margin: 0 0 10px;
    padding: 0;
    border: 0;
    color: var(--ca-ink);
    font-family: var(--font-sans, system-ui, sans-serif);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .04em;
}
.gs-portal-layout .gs-sidebar-block-title:after {
    display: none;
}
.gs-portal-layout .gs-card--sidebar {
    padding: 9px 0;
    border-bottom: 1px solid var(--ca-line);
}
.gs-portal-layout .gs-card--sidebar .gs-card-title--sidebar {
    font-family: var(--font-sans, system-ui, sans-serif);
}

/* Mobile navigation */
.gs-header-nav .gs-mobile-menu-header,
.gs-header-nav .gs-mobile-menu-search,
.gs-header-nav .gs-mobile-menu-section {
    display: none;
}
@media (max-width: 1023px) {
    .gs-portal-brandbar__inner {
        min-height: 76px;
        grid-template-columns: 44px minmax(0,1fr) 44px;
        gap: 10px;
    }
    .gs-portal-mobile-control {
        display: block;
    }
    .gs-header-toggle {
        display: flex !important;
        width: 42px;
        height: 42px;
        padding: 0;
        border: 0;
        background: transparent;
        align-items: center;
        justify-content: center;
    }
    .gs-header-brand {
        justify-content: center;
    }
    .gs-header-logo--desktop {
        display: none;
    }
    .gs-header-logo--mobile {
        display: block;
    }
    .gs-portal-header-ad {
        display: none;
    }
    .gs-portal-navwrap {
        background: transparent;
        border: 0;
    }
    .gs-header-nav.main-navigation {
        position: fixed !important;
        inset: 0 auto 0 0;
        width: min(360px, 92vw) !important;
        height: 100dvh !important;
        max-width: none !important;
        padding: 0 !important;
        background: #fff !important;
        z-index: 6000 !important;
        transform: translateX(-105%);
        transition: transform .22s ease;
        display: flex !important;
        flex-direction: column;
        overflow-y: auto;
        box-shadow: 12px 0 32px rgba(0,0,0,.18);
        visibility: hidden;
    }
    .gs-header-nav.main-navigation.toggled {
        transform: translateX(0);
        visibility: visible;
    }
    .gs-header-nav .gs-mobile-menu-header {
        display: flex;
        min-height: 62px;
        align-items: center;
        justify-content: space-between;
        padding: 0 18px;
        color: var(--ca-pink-dark);
        border-bottom: 1px solid var(--ca-line);
    }
    .gs-mobile-menu-close {
        width: 38px;
        height: 38px;
        border: 0;
        background: var(--ca-soft);
        border-radius: 50%;
        color: #333;
        font-size: 24px;
    }
    .gs-header-nav .gs-mobile-menu-search {
        display: block;
        padding: 14px 16px;
        border-bottom: 1px solid var(--ca-line);
    }
    .gs-header-nav .gs-mobile-menu-search .search-form {
        display: flex;
        gap: 6px;
    }
    .gs-header-nav .gs-mobile-menu-search input {
        min-width: 0;
        width: 100%;
    }
    .gs-portal-nav-inner {
        display: block;
    }
    .gs-portal-nav-inner .gs-portal-home-link,
    .gs-portal-nav-inner .gs-portal-nav-search {
        display: none !important;
    }
    .gs-portal-nav-inner > ul {
        display: block !important;
        overflow: visible;
    }
    .gs-portal-nav-inner > ul > li > a {
        height: auto;
        min-height: 46px;
        justify-content: flex-start;
        padding: 12px 18px !important;
        color: #333 !important;
        background: #fff !important;
        border-bottom: 1px solid var(--ca-line) !important;
        font-size: 14px !important;
    }
    .gs-portal-nav-inner > ul > li.current-menu-item > a,
    .gs-portal-nav-inner > ul > li > a:hover {
        color: var(--ca-pink-dark) !important;
        background: var(--ca-soft) !important;
    }
    .gs-portal-nav-inner ul ul {
        position: static;
        display: block !important;
        min-width: 0;
        padding: 0 !important;
        box-shadow: none;
        border: 0;
        background: #fafafa;
    }
    .gs-portal-nav-inner ul ul li a {
        padding-left: 34px;
        border-bottom: 1px solid var(--ca-line);
    }
    .gs-header-nav .gs-mobile-menu-section {
        display: block;
        padding: 16px 18px;
        border-top: 8px solid #f6f2f5;
    }
    .gs-mobile-menu-section h3 {
        margin: 0 0 8px;
        color: var(--ca-pink-dark);
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: .08em;
    }
    .gs-mobile-menu-section ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 7px 12px;
        margin: 0;
        padding: 0;
    }
    .gs-mobile-menu-section a {
        color: #555;
        font-size: 13px;
        text-decoration: none;
    }
    .gs-portal-breaking__items a:nth-child(n+4) {
        display: none;
    }
    .gs-portal-lead-grid {
        grid-template-columns: 1fr;
    }
    .gs-portal-support-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
    }
    .gs-portal-card--support {
        min-height: 180px;
    }
    .gs-portal-layout {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 700px) {
    .gs-portal-width {
        width: min(100% - 20px, var(--ca-width));
    }
    .gs-portal-utility__links a:nth-child(n+4),
    .gs-portal-utility__right {
        display: none;
    }
    .gs-portal-brandbar__inner {
        min-height: 68px;
    }
    .gs-portal-breaking__inner {
        grid-template-columns: 98px minmax(0,1fr);
    }
    .gs-portal-breaking__inner > button {
        display: none;
    }
    .gs-portal-breaking__items {
        gap: 18px;
    }
    .gs-portal-lead {
        min-height: 360px;
    }
    .gs-portal-lead__content {
        padding: 22px 18px;
    }
    .gs-portal-lead h1 {
        font-size: 31px;
    }
    .gs-portal-lead p {
        display: none;
    }
    .gs-portal-support-grid {
        gap: 6px;
    }
    .gs-portal-card--support {
        min-height: 150px;
    }
    .gs-portal-card--support h3 {
        font-size: 13px;
    }
    .gs-portal-topicbar a {
        min-width: 90px;
        padding: 11px 9px;
        font-size: 11px;
    }
    .gs-portal-card-grid--3,
    .gs-portal-card-grid--4 {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }
    .gs-portal-editorial {
        grid-template-columns: 1fr;
    }
    .gs-portal-card--compact {
        grid-template-columns: 110px minmax(0,1fr);
    }
    .gs-portal-editorial > .gs-portal-card--category-lead h3 {
        font-size: 20px;
    }
}
@media (max-width: 460px) {
    .gs-portal-support-grid {
        grid-template-columns: 1fr;
    }
    .gs-portal-card--support {
        min-height: 190px;
    }
    .gs-portal-card-grid--3,
    .gs-portal-card-grid--4 {
        grid-template-columns: 1fr;
    }
}

/* 1.7.4 editorial typography */
body{font-family:var(--font-body,var(--font-sans,system-ui,sans-serif));}
.ca-post h3,.ca-portal-slide-caption h1,.gs-featured-lead h1,.gs-section-heading h2,.gs-editorial-card h3{font-family:var(--font-serif,"Playfair Display",Georgia,serif);}
.ca-menu,.ca-menu a,.ca-cat,.ca-post time,.ca-readtime,.ca-module-heading a,.ca-sidebar,.gs-sidebar-block-title,.ca-breaking,.ca-inline-ticker{font-family:var(--font-sans,"Montserrat",Arial,sans-serif);}
.gs-article-content{font-family:var(--font-body,"Source Sans 3",Arial,sans-serif);}
