/*
Theme Name:  Grillfürst Magazin
Theme URI:   https://i-demir.io
Description: Custom Theme im Grillfürst-Magazin CI – fokussiert auf Event-Artikel-Seiten.
Author:      i-demir.io
Version:     1.2.4
Text Domain: grillfuerst-magazin
*/

/* =============================================
   RESET & BASE
   ============================================= */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.7;
    color: #1A1A1A;
    background-color: #FFFFFF;
}

/* =============================================
   TYPOGRAFIE
   ============================================= */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Open Sans', Arial, sans-serif;
    font-weight: 700;
    color: #1A1A1A;
    line-height: 1.25;
    margin-bottom: 16px;
}

h1 {
    font-size: clamp(26px, 4vw, 32px);
    margin-bottom: 12px;
}

h2 {
    font-size: clamp(18px, 3vw, 22px);
    margin-top: 36px;
    margin-bottom: 12px;
}

h3 {
    font-size: 18px;
    margin-top: 28px;
}

h4 { font-size: 16px; }

p {
    margin-bottom: 20px;
    font-size: 15px;
    line-height: 1.7;
}

a {
    color: #E2001A;
    text-decoration: none;
    transition: opacity 0.15s ease;
}

a:hover {
    opacity: 0.75;
    text-decoration: underline;
}

strong, b {
    font-weight: 700;
}

em, i {
    font-style: italic;
}

ul, ol {
    padding-left: 24px;
    margin-bottom: 20px;
}

li {
    margin-bottom: 6px;
}

blockquote {
    border-left: 4px solid #E2001A;
    padding: 12px 20px;
    margin: 24px 0;
    background: #F5F5F5;
    font-style: italic;
    color: #444;
}

/* =============================================
   HEADER
   ============================================= */
/* Top Utility Bar */
.gf-top-bar {
    background-color: #F7F7F7;
    border-bottom: 1px solid #EBEBEB;
    font-size: 12px;
    color: #666666;
    padding: 6px 0;
    width: 100%;
}

.gf-top-bar-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.gf-top-bar-left {
    display: flex;
    align-items: center;
    gap: 14px;
}

.gf-top-bar-icon-link {
    display: flex;
    align-items: center;
    transition: opacity 0.15s;
}

.gf-top-bar-icon-link:hover {
    opacity: 0.7;
}

.gf-top-bar-right {
    display: block;
}

.gf-usp-list {
    list-style: none;
    display: flex;
    gap: 16px;
    padding: 0;
    margin: 0;
    font-weight: 600;
}

.gf-usp-list li {
    margin-bottom: 0;
}

/* Main Site Header */
#site-header {
    background-color: #FFFFFF;
    border-bottom: 1px solid #EBEBEB;
    position: sticky;
    top: 0;
    z-index: 100;
    width: 100%;
    box-shadow: 0 2px 5px rgba(0,0,0,0.02);
}

.header-main-row {
    max-width: 1200px;
    margin: 0 auto;
    padding: 10px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 70px;
}

/* Logo Area */
.gf-logo-area {
    display: flex;
    align-items: center;
}

.gf-main-logo-link {
    display: flex;
    align-items: center;
}

.gf-logo-img {
    height: 36px;
    width: auto;
    display: block;
}

.gf-sub-brand-link {
    display: inline-block;
    border-left: 2px solid #1A1A1A;
    margin-left: 10px;
    padding-left: 10px;
    text-decoration: none;
    transition: opacity 0.15s;
}

.gf-sub-brand-link:hover {
    opacity: 0.8;
    text-decoration: none;
}

.gf-sub-brand-text {
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #1A1A1A;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Search Area */
.gf-search-area {
    flex-grow: 1;
    max-width: 500px;
    margin: 0 30px;
}

.gf-search-form {
    display: flex;
    border: 1px solid #CCCCCC;
    border-radius: 4px;
    overflow: hidden;
    background: #FFFFFF;
    transition: border-color 0.15s;
}

.gf-search-form:focus-within {
    border-color: #E2001A;
}

.gf-search-input {
    flex-grow: 1;
    border: none;
    padding: 10px 14px;
    font-size: 14px;
    font-family: 'Open Sans', Arial, sans-serif;
    color: #1A1A1A;
    outline: none;
    width: 100%;
}

.gf-search-input::placeholder {
    color: #999999;
}

.gf-search-submit {
    background: #E2001A;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    cursor: pointer;
    transition: background-color 0.15s;
}

.gf-search-submit:hover {
    background: #B30012;
}

.gf-search-submit img {
    filter: brightness(0) invert(1);
    display: block;
}

/* User & Cart Actions */
.gf-user-actions {
    display: flex;
    align-items: center;
    gap: 16px;
}

.gf-action-link {
    display: flex;
    align-items: center;
    transition: opacity 0.15s;
}

.gf-action-link:hover {
    opacity: 0.7;
}

/* Mobile Search Area */
.gf-mobile-search-area {
    display: none;
    padding: 10px 20px;
    background-color: #F9F9F9;
    border-top: 1px solid #EBEBEB;
}

/* Mobile Menu Toggle button */
.gf-mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    color: #1A1A1A;
    cursor: pointer;
    padding: 5px;
}

/* Category Navigation Container */
#gf_magazine_nav_container {
    background-color: #FFFFFF;
    border-bottom: 2px solid #E2001A;
    width: 100%;
}

#gf_magazine_nav_inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.gf-nav-list {
    list-style: none;
    display: flex;
    justify-content: space-between;
    padding: 0;
    margin: 0;
    overflow-x: auto;
    scrollbar-width: none; /* Hide scrollbar in Firefox */
}

.gf-nav-list::-webkit-scrollbar {
    display: none; /* Hide scrollbar in Chrome/Safari */
}

.gf-nav-list li {
    margin-bottom: 0;
}

.gf-nav-list li a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 8px;
    color: #1A1A1A;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    text-decoration: none;
    border-bottom: 3px solid transparent;
    transition: all 0.15s;
    white-space: nowrap;
}

.gf-nav-list li a:hover {
    color: #E2001A;
    border-bottom-color: #E2001A;
    text-decoration: none;
}

.gf-nav-icon {
    height: 18px;
    width: auto;
    display: block;
    filter: grayscale(100%);
    opacity: 0.7;
    transition: all 0.15s;
}

.gf-nav-list li a:hover .gf-nav-icon {
    filter: none;
    opacity: 1;
}

/* =============================================
   LAYOUT – SEITEN-WRAPPER
   ============================================= */
#page-wrapper {
    min-height: calc(100vh - 56px - 80px);
}

.content-area {
    max-width: 780px;
    margin: 0 auto;
    padding: 40px 20px 60px;
}

/* =============================================
   EVENT META-BLOCK (unter H1)
   ============================================= */
.event-meta-block {
    background: #F5F5F5;
    border-left: 3px solid #E2001A;
    padding: 14px 18px;
    margin-bottom: 24px;
    font-size: 13px;
    color: #666666;
    line-height: 1.8;
}

.event-meta-block span {
    display: block;
}

.event-meta-block .event-meta-label {
    font-weight: 700;
    color: #1A1A1A;
    margin-right: 4px;
}

/* Klassische Zeilen-Variante (kein Abstand) */
.event-meta-block p {
    margin: 0;
    font-size: 13px;
    color: #666666;
    line-height: 1.6;
}

/* =============================================
   HERO-BILD
   ============================================= */
.article-hero-image {
    width: 100%;
    margin-bottom: 28px;
    display: block;
}

.article-hero-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 0;
    box-shadow: none;
}

/* =============================================
   BILDER IM ARTIKEL-TEXT
   ============================================= */
.wp-block-image,
.article-body figure {
    margin-bottom: 24px;
    width: 100%;
}

.wp-block-image img,
.article-body figure img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 0;
}

.wp-block-image figcaption,
.article-body figcaption,
.image-caption {
    font-style: italic;
    font-size: 13px;
    color: #666666;
    margin-top: 6px;
    line-height: 1.5;
}

/* =============================================
   TRENNLINIE
   ============================================= */
hr,
.wp-block-separator {
    border: none;
    border-top: 1px solid #EEEEEE;
    margin: 32px 0;
    height: 0;
}

/* =============================================
   TABELLE (Wann / Wo / Kontakt)
   ============================================= */
.event-info-table,
.wp-block-table table,
.article-body table,
.entry-content table,
table.gf-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    margin-bottom: 32px;
    table-layout: fixed;
}

.event-info-table th,
.wp-block-table table th,
.article-body table th,
.entry-content table th,
table.gf-table th {
    background-color: #F5F5F5;
    font-weight: 700;
    color: #1A1A1A;
    text-align: center;
    padding: 12px 16px;
    border: 1px solid #DDDDDD;
    font-size: 14px;
    vertical-align: top;
}

.event-info-table td,
.wp-block-table table td,
.article-body table td,
.entry-content table td,
table.gf-table td {
    padding: 12px 16px;
    border: 1px solid #DDDDDD;
    color: #1A1A1A;
    text-align: center;
    vertical-align: top;
    background-color: #FFFFFF;
}

.event-info-table tr:nth-child(even) td,
table.gf-table tr:nth-child(even) td {
    background-color: #FAFAFA;
}

/* Shortcode-Wrapper */
.gf-event-table-wrap {
    margin-bottom: 32px;
    overflow-x: auto;
}

/* =============================================
   GUTENBERG BLOCK OVERRIDES
   ============================================= */
/* Buttons */
.wp-block-button .wp-block-button__link {
    background-color: #E2001A;
    color: #FFFFFF;
    border-radius: 2px;
    font-size: 14px;
    font-weight: 700;
    padding: 12px 24px;
    text-decoration: none;
    border: none;
    transition: background-color 0.2s ease;
}

.wp-block-button .wp-block-button__link:hover {
    background-color: #b8001a;
    opacity: 1;
    text-decoration: none;
}

/* Abstandskorrektur Gutenberg-Container */
.entry-content > * {
    max-width: 780px;
}

.entry-content > .alignwide {
    max-width: 100%;
}

.entry-content > .alignfull {
    max-width: 100%;
    margin-left: -20px;
    margin-right: -20px;
}

/* =============================================
   ARTICLE – SINGLE POST
   ============================================= */
.article-header {
    margin-bottom: 20px;
}

.article-category-badge {
    display: inline-block;
    background-color: #E2001A;
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 3px 10px;
    margin-bottom: 12px;
    border-radius: 2px;
}

.article-title {
    font-size: clamp(26px, 4vw, 32px);
    font-weight: 700;
    color: #1A1A1A;
    line-height: 1.2;
    margin-bottom: 16px;
}

.article-body {
    font-size: 15px;
    line-height: 1.7;
    color: #1A1A1A;
}



/* =============================================
   ARCHIV / BLOG-ÜBERSICHT (Gutenberg Query Loop & Custom)
   ============================================= */
.content-area-wide {
    max-width: 1200px;
    margin: 0 auto;
    padding: 32px 20px 60px;
}

.archive-title {
    font-size: 28px;
    font-weight: 700;
    color: #1A1A1A;
    margin-bottom: 32px;
}

/* Event-Karten Grid – 4 Spalten mit Gutenberg-Klassen */
.wp-block-post-template {
    list-style: none;
    padding: 0;
    margin: 0 0 48px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.wp-block-post {
    display: flex;
    flex-direction: column;
    background: transparent;
}

/* Featured Image in Cards (185px hoch, cover) */
figure.wp-block-post-featured-image {
    margin: 0;
    overflow: hidden;
    height: 185px;
    position: relative;
}

figure.wp-block-post-featured-image a {
    display: block;
    height: 100%;
}

figure.wp-block-post-featured-image img,
.wp-block-post-featured-image :where(img) {
    width: 100%;
    height: 185px;
    object-fit: cover;
    display: block;
    border-radius: 0;
    box-shadow: none;
}

/* Card Body (Grauer Hintergrund, 20px Padding) */
.wp-block-group.has-gray-background-color {
    background-color: #EBEBEB !important;
    padding: 20px !important;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

/* Post Title in Card */
.wp-block-group.has-gray-background-color .wp-block-post-title {
    font-size: 16px;
    font-weight: 700;
    color: #1A1A1A;
    line-height: 1.35;
    margin: 0 0 8px;
}

.wp-block-group.has-gray-background-color .wp-block-post-title a {
    color: #1A1A1A;
    text-decoration: none;
    transition: color 0.15s ease;
}

.wp-block-group.has-gray-background-color .wp-block-post-title a:hover {
    color: #E2001A;
    text-decoration: none;
    opacity: 1;
}

/* Custom Excerpt in Card */
.wp-block-gf-post-excerpt {
    font-size: 13px;
    color: #6F6E6E;
    margin: 0 0 12px;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex-grow: 1;
}

/* Ratings in Card */
.wp-block-gf-ratings {
    margin-top: auto;
}

.sv_grillfuerst_custom_ratings_stars {
    display: flex;
    align-items: center;
    gap: 2px;
}

.sv_grillfuerst_custom_ratings_stars img {
    width: 16px;
    height: 20px;
    display: inline-block;
}

/* Legacy event-grid classes for fallback */
.event-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    list-style: none;
    padding: 0;
    margin: 0 0 48px;
}

.event-card {
    display: flex;
    flex-direction: column;
    background: transparent;
}

.event-card__image {
    margin: 0;
    overflow: hidden;
    height: 185px;
}

.event-card__image img {
    width: 100%;
    height: 185px;
    object-fit: cover;
    display: block;
}

.event-card__body {
    background-color: #EBEBEB;
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.event-card__title {
    font-size: 16px;
    font-weight: 700;
    color: #1A1A1A;
    line-height: 1.35;
    margin: 0 0 8px;
}

.event-card__title a {
    color: #1A1A1A;
    text-decoration: none;
}

.event-card__title a:hover {
    color: #E2001A;
}

.event-card__excerpt {
    font-size: 13px;
    color: #6F6E6E;
    margin: 0;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex-grow: 1;
}

/* Pagination */
.gfm-pagination {
    text-align: center;
    margin-top: 40px;
}

.gfm-pagination .page-numbers {
    display: inline-block;
    padding: 8px 14px;
    margin: 0 2px;
    border: 1px solid #DDDDDD;
    color: #1A1A1A;
    font-size: 14px;
    text-decoration: none;
    background: #fff;
}

.gfm-pagination .page-numbers.current,
.gfm-pagination .page-numbers:hover {
    background: #E2001A;
    color: #fff;
    border-color: #E2001A;
    opacity: 1;
    text-decoration: none;
}

/* =============================================
   EVENT DETAIL-SEITE BLOCK-SYSTEM (unter H1)
   ============================================= */
.wp-block-gf-event-ad {
    width: 100%;
    margin: 24px 0;
}

.gf-event-ad-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    background-color: #FFFFFF;
    border: none;
    box-shadow: none;
    border-radius: 0;
    padding: 16px 0;
    margin-bottom: 24px;
    font-family: 'Open Sans', Arial, sans-serif;
}

.gf-event-ad-column {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
}

.gf-event-ad-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background-color: transparent;
    flex-shrink: 0;
    color: #E2001A; /* Primary Red for icons */
}

.gf-event-ad-icon svg {
    height: 32px;
    width: 32px;
    stroke: #E2001A;
}

.gf-event-ad-label {
    color: #1A1A1A;
    display: block;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.2;
    margin: 0;
    font-family: 'Open Sans', Arial, sans-serif;
}

.gf-event-ad-value {
    font-size: 15px;
    color: #1A1A1A;
    font-weight: 400;
    line-height: 1.3;
    margin: 0;
    font-family: 'Open Sans', Arial, sans-serif;
}

/* Post Date Updated */
.wp-block-gf-post-date-updated {
    font-size: 13px;
    color: #6F6E6E;
    margin: 16px 0 24px;
    font-style: italic;
}

/* Single Post Hero Image override */
.gfm-article figure.wp-block-post-featured-image {
    width: 100%;
    height: 550px;
    margin-bottom: 32px;
    overflow: hidden;
}

.gfm-article figure.wp-block-post-featured-image img,
.gfm-article .wp-block-post-featured-image :where(img) {
    width: 100%;
    height: 550px;
    object-fit: cover;
    display: block;
}

/* =============================================
   GUTENBERG TABELLEN-STYLING (has-fixed-layout)
   ============================================= */
.wp-block-table {
    margin: 32px 0;
    overflow-x: auto;
    border-bottom-width: 0;
}

.wp-block-table table,
.article-body table,
.entry-content table { 
  width: 100%; 
  border-collapse: collapse; 
  table-layout: fixed;
}

.wp-block-table td, 
.wp-block-table th,
.article-body td, 
.article-body th,
.entry-content td, 
.entry-content th { 
  border: 1px solid #DDDDDD; 
  padding: 12px 16px; 
  text-align: center; 
  vertical-align: top;
  width: 33.333%;
  font-size: 15px;
  color: #1A1A1A;
}

.wp-block-table tr:first-child td,
.wp-block-table th,
.article-body tr:first-child td,
.article-body th,
.entry-content tr:first-child td,
.entry-content th {
  background: #F5F5F5 !important;
  font-weight: 700;
}

.wp-block-table tbody tr td a {
    color: #E2001A;
    text-decoration: none;
}

.wp-block-table tbody tr td a:hover {
    text-decoration: underline;
}

/* =============================================
   FOOTER STYLING
   ============================================= */
#site-footer {
    background-color: #F4F4F4;
    color: #1A1A1A;
    padding: 48px 0 24px;
    border-top: 1px solid #EBEBEB;
    margin-top: 60px;
    width: 100%;
}

.footer-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.footer-columns {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 30px;
}

.footer-col h4 {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    color: #1A1A1A;
    margin-bottom: 18px;
    border-bottom: 2px solid #E2001A;
    padding-bottom: 8px;
    display: inline-block;
}

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

.footer-col ul li {
    margin-bottom: 8px;
    font-size: 13px;
    line-height: 1.4;
}

.footer-col ul li a {
    color: #666666;
    text-decoration: none;
    transition: color 0.15s;
}

.footer-col ul li a:hover {
    color: #E2001A;
    text-decoration: none;
}

.gf-contact-col {
    font-size: 13px;
    color: #666666;
}

.gf-contact-item {
    margin-bottom: 16px;
    line-height: 1.5;
}

.gf-contact-item strong {
    color: #1A1A1A;
}

.gf-contact-item a {
    color: #E2001A;
    font-weight: 600;
    text-decoration: none;
}

.gf-contact-item a:hover {
    text-decoration: underline;
}

.gf-footer-divider {
    border: 0;
    border-top: 1px solid #D5D5D5;
    margin: 36px 0;
}

.gf-payment-section {
    text-align: center;
}

.gf-payment-section h5 {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 18px;
    color: #1A1A1A;
}

.gf-payment-badges {
    display: flex;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
    align-items: center;
}

.gf-payment-badges img {
    height: 28px;
    width: auto;
    filter: grayscale(100%);
    opacity: 0.8;
    transition: all 0.15s;
}

.gf-payment-badges img:hover {
    filter: none;
    opacity: 1;
}

.gf-footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    font-size: 13px;
    color: #666666;
}

.gf-footer-legal-links a {
    color: #666666;
    margin-right: 18px;
    text-decoration: none;
    transition: color 0.15s;
}

.gf-footer-legal-links a:hover {
    color: #E2001A;
}

.gf-footer-socials {
    display: flex;
    align-items: center;
    gap: 14px;
}

.gf-footer-socials strong {
    color: #1A1A1A;
    margin-right: 4px;
}

.gf-footer-socials a {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #FFFFFF;
    border: 1px solid #EBEBEB;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    transition: all 0.15s;
}

.gf-footer-socials a:hover {
    border-color: #E2001A;
    background: #F9F9F9;
}

.gf-footer-socials img {
    filter: grayscale(100%);
    transition: filter 0.15s;
}

.gf-footer-socials a:hover img {
    filter: none;
}

.gf-footer-copyright {
    margin: 0;
    color: #999999;
}

/* =============================================
   RESPONSIVE OVERRIDES
   ============================================= */
@media (max-width: 1200px) {
    .wp-block-post-template,
    .event-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    .footer-columns {
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }
}

@media (max-width: 900px) {
    .wp-block-post-template,
    .event-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .gfm-article figure.wp-block-post-featured-image,
    .gfm-article figure.wp-block-post-featured-image img,
    .gfm-article .wp-block-post-featured-image :where(img) {
        height: 350px;
    }

    .gf-top-bar-right {
        display: none;
    }

    .gf-top-bar-inner {
        justify-content: center;
    }

    .gf-search-area {
        display: none;
    }

    .gf-mobile-search-area {
        display: block;
    }

    .gf-mobile-menu-toggle {
        display: block;
    }

    #gf_magazine_nav_container {
        display: none;
        border-bottom: none;
        background-color: #FFFFFF;
        box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    }

    #gf_magazine_nav_inner {
        padding: 0;
    }

    .gf-nav-list {
        flex-direction: column;
        overflow-x: visible;
    }

    .gf-nav-list li a {
        padding: 14px 20px;
        border-bottom: none;
        border-left: 4px solid transparent;
    }

    .gf-nav-list li a:hover {
        border-left-color: #E2001A;
    }

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

    .gf-footer-bottom {
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }

    .gf-footer-legal-links a {
        margin: 0 10px;
    }

    .gf-footer-socials {
        justify-content: center;
    }
}

@media (max-width: 600px) {
    h1 { font-size: 24px; }
    h2 { font-size: 18px; }

    .content-area {
        padding: 24px 20px 40px;
    }
}

@media (max-width: 599px) {
    .wp-block-post-template,
    .event-grid {
        grid-template-columns: 1fr;
    }

    .content-area-wide {
        padding: 20px 16px 40px;
    }
}

@media (max-width: 480px) {
    body { font-size: 15px; }

    .content-area {
        padding: 20px 16px 36px;
    }

    .gfm-article figure.wp-block-post-featured-image,
    .gfm-article figure.wp-block-post-featured-image img,
    .gfm-article .wp-block-post-featured-image :where(img) {
        height: 220px;
    }

    .footer-columns {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

/* Event-Grid Responsive overrides */
@media (min-width: 768px) {
    .gf-event-ad-container {
        grid-template-columns: repeat(4, 1fr);
        padding: 24px;
        gap: 24px;
    }
}
