/* ==========================================================================
   Goldone Theme – Blocks CSS
   Styles for all custom Goldone blocks (like Flatsome's UX Builder blocks).
   ========================================================================== */

/* -------------------------------------------------------------------------
   Grid / Row / Column system (12-column)
   ------------------------------------------------------------------------- */
.gd-row {
    display: grid;
    width: 100%;
}

.gd-row--1  { grid-template-columns: 1fr; }
.gd-row--2  { grid-template-columns: repeat(2, 1fr); }
.gd-row--3  { grid-template-columns: repeat(3, 1fr); }
.gd-row--4  { grid-template-columns: repeat(4, 1fr); }
.gd-row--5  { grid-template-columns: repeat(5, 1fr); }
.gd-row--6  { grid-template-columns: repeat(6, 1fr); }
.gd-row--centered { grid-template-columns: 1fr; justify-items: center; }

.gd-gap-xs  { gap: var(--gd-space-xs); }
.gd-gap-sm  { gap: var(--gd-space-sm); }
.gd-gap-md  { gap: var(--gd-space-md); }
.gd-gap-lg  { gap: var(--gd-space-lg); }
.gd-gap-xl  { gap: var(--gd-space-xl); }
.gd-gap-2xl { gap: var(--gd-space-2xl); }
.gd-gap-3xl { gap: var(--gd-space-3xl); }

.gd-va-center { align-items: center; }
.gd-va-top    { align-items: flex-start; }
.gd-va-bottom { align-items: flex-end; }

/* Fractional columns (12-col grid) */
.gd-col-1  { grid-column: span 1; }
.gd-col-2  { grid-column: span 2; }
.gd-col-3  { grid-column: span 3; }
.gd-col-4  { grid-column: span 4; }
.gd-col-5  { grid-column: span 5; }
.gd-col-6  { grid-column: span 6; }
.gd-col-7  { grid-column: span 7; }
.gd-col-8  { grid-column: span 8; }
.gd-col-9  { grid-column: span 9; }
.gd-col-10 { grid-column: span 10; }
.gd-col-11 { grid-column: span 11; }
.gd-col-12 { grid-column: span 12; }

/* -------------------------------------------------------------------------
   Section block
   ------------------------------------------------------------------------- */
.gd-section {
    position: relative;
    width: 100%;
}

.gd-section.is-full-width {
    width: 100vw;
    margin-left: calc(50% - 50vw);
}

/* Padding utilities */
.gd-section--py-xs  { padding-top: var(--gd-space-xs);  padding-bottom: var(--gd-space-xs);  }
.gd-section--py-sm  { padding-top: var(--gd-space-sm);  padding-bottom: var(--gd-space-sm);  }
.gd-section--py-md  { padding-top: var(--gd-space-md);  padding-bottom: var(--gd-space-md);  }
.gd-section--py-lg  { padding-top: var(--gd-space-lg);  padding-bottom: var(--gd-space-lg);  }
.gd-section--py-xl  { padding-top: var(--gd-space-xl);  padding-bottom: var(--gd-space-xl);  }
.gd-section--py-2xl { padding-top: var(--gd-space-2xl); padding-bottom: var(--gd-space-2xl); }
.gd-section--py-3xl { padding-top: var(--gd-space-3xl); padding-bottom: var(--gd-space-3xl); }
.gd-section--py-4xl { padding-top: var(--gd-space-4xl); padding-bottom: var(--gd-space-4xl); }

/* Background helpers */
.has-primary-bg,   .has-primary-background-color   { background-color: var(--gd-color-primary)   !important; }
.has-secondary-bg, .has-secondary-background-color { background-color: var(--gd-color-secondary) !important; }
.has-accent-bg,    .has-accent-background-color     { background-color: var(--gd-color-accent)    !important; }
.has-light-bg,     .has-light-background-color      { background-color: var(--gd-color-light)     !important; }
.has-dark-bg,      .has-dark-background-color       { background-color: var(--gd-color-dark)      !important; }

/* Color helpers */
.has-primary-color   { color: var(--gd-color-primary)   !important; }
.has-secondary-color { color: var(--gd-color-secondary) !important; }
.has-white-color     { color: var(--gd-color-white)     !important; }
.has-muted-color     { color: var(--gd-color-muted)     !important; }

/* -------------------------------------------------------------------------
   Banner block
   ------------------------------------------------------------------------- */
.gd-banner {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    background-color: var(--gd-color-secondary);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.gd-banner.has-parallax {
    background-attachment: fixed;
}

.gd-banner__overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.gd-banner__content {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: var(--gd-container-width);
    margin: 0 auto;
    padding: var(--gd-container-padding);
    color: var(--gd-color-white);
}

.gd-banner__content h1,
.gd-banner__content h2,
.gd-banner__content h3 {
    color: var(--gd-color-white);
}

.gd-banner .gd-eyebrow {
    color: var(--gd-color-primary);
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-size: var(--gd-font-size-sm);
    margin-bottom: var(--gd-space-sm);
}

/* -------------------------------------------------------------------------
   Eyebrow text
   ------------------------------------------------------------------------- */
.gd-eyebrow {
    display: inline-block;
    font-size: var(--gd-font-size-xs);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gd-color-primary);
    margin-bottom: var(--gd-space-sm);
}

/* -------------------------------------------------------------------------
   Icon Box block
   ------------------------------------------------------------------------- */
.gd-icon-box {
    padding: var(--gd-space-xl);
    border-radius: var(--gd-radius-md);
    transition: transform var(--gd-transition), box-shadow var(--gd-transition);
}

.gd-icon-box:hover {
    transform: translateY(-4px);
    box-shadow: var(--gd-shadow-md);
}

.gd-icon-box--center { text-align: center; }
.gd-icon-box--right  { text-align: right; }

.gd-icon-box__icon {
    display: inline-block;
    margin-bottom: var(--gd-space-lg);
    line-height: 1;
}

.gd-icon-box--center .gd-icon-box__icon { display: block; }

.gd-icon-box__title {
    font-family: var(--gd-font-heading);
    font-size: var(--gd-font-size-xl);
    font-weight: 700;
    margin-bottom: var(--gd-space-sm);
}

.gd-icon-box__text {
    font-size: var(--gd-font-size-sm);
    color: var(--gd-color-muted);
    margin: 0;
    line-height: 1.6;
}

/* Variants */
.gd-icon-box--bordered {
    border: 1px solid var(--gd-color-border);
}

.gd-icon-box--shadow {
    box-shadow: var(--gd-shadow-sm);
    background: var(--gd-color-white);
}

.gd-icon-box--filled {
    background: var(--gd-color-light);
}

/* -------------------------------------------------------------------------
   Slider block (Swiper)
   ------------------------------------------------------------------------- */
.gd-slider {
    position: relative;
    overflow: hidden;
}

.gd-slider .swiper-slide {
    height: auto;
}

/* Navigation arrows */
.gd-slider .swiper-button-next,
.gd-slider .swiper-button-prev {
    width: 48px;
    height: 48px;
    background: var(--gd-color-white);
    border-radius: var(--gd-radius-full);
    box-shadow: var(--gd-shadow-md);
    color: var(--gd-color-secondary);
    transition: all var(--gd-transition);
}

.gd-slider .swiper-button-next:hover,
.gd-slider .swiper-button-prev:hover {
    background: var(--gd-color-primary);
    color: var(--gd-color-white);
}

.gd-slider .swiper-button-next::after,
.gd-slider .swiper-button-prev::after {
    font-size: 1rem;
    font-weight: 700;
}

/* Pagination dots */
.gd-slider .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background: var(--gd-color-border);
    opacity: 1;
    transition: all var(--gd-transition);
}

.gd-slider .swiper-pagination-bullet-active {
    background: var(--gd-color-primary);
    width: 24px;
    border-radius: var(--gd-radius-full);
}

/* Hero slider */
.gd-slider--hero .swiper-slide {
    min-height: 600px;
    display: flex;
    align-items: center;
}

/* -------------------------------------------------------------------------
   Tabs block
   ------------------------------------------------------------------------- */
.gd-tabs {}

.gd-tabs__nav {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gd-space-xs);
    border-bottom: 2px solid var(--gd-color-border);
    margin-bottom: var(--gd-space-xl);
}

.gd-tabs__nav-item {
    padding: 0.75rem 1.5rem;
    font-size: var(--gd-font-size-sm);
    font-weight: 600;
    color: var(--gd-color-muted);
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: all var(--gd-transition);
    background: none;
    border-top: none;
    border-left: none;
    border-right: none;
}

.gd-tabs__nav-item:hover { color: var(--gd-color-primary); }
.gd-tabs__nav-item.is-active {
    color: var(--gd-color-primary);
    border-bottom-color: var(--gd-color-primary);
}

/* Pills style */
.gd-tabs--pills .gd-tabs__nav {
    border-bottom: none;
    gap: var(--gd-space-sm);
}

.gd-tabs--pills .gd-tabs__nav-item {
    border-radius: var(--gd-radius-full);
    border: 1px solid var(--gd-color-border);
    margin-bottom: 0;
}

.gd-tabs--pills .gd-tabs__nav-item.is-active {
    background: var(--gd-color-primary);
    border-color: var(--gd-color-primary);
    color: var(--gd-color-white);
}

.gd-tab-panel { display: none; }
.gd-tab-panel.is-active { display: block; }

/* -------------------------------------------------------------------------
   Accordion block
   ------------------------------------------------------------------------- */
.gd-accordion {
    display: flex;
    flex-direction: column;
    gap: var(--gd-space-sm);
}

.gd-accordion-item {
    border: 1px solid var(--gd-color-border);
    border-radius: var(--gd-radius-md);
    overflow: hidden;
}

.gd-accordion-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--gd-space-lg) var(--gd-space-xl);
    font-weight: 600;
    cursor: pointer;
    user-select: none;
    background: var(--gd-color-white);
    transition: background var(--gd-transition);
}

.gd-accordion-header:hover { background: var(--gd-color-light); }

.gd-accordion-header::after {
    content: '';
    width: 10px;
    height: 10px;
    border-right: 2px solid var(--gd-color-muted);
    border-bottom: 2px solid var(--gd-color-muted);
    transform: rotate(45deg);
    transition: transform var(--gd-transition);
    flex-shrink: 0;
}

.gd-accordion-item.is-open .gd-accordion-header::after {
    transform: rotate(-135deg);
}

.gd-accordion-item.is-open .gd-accordion-header {
    color: var(--gd-color-primary);
    background: var(--gd-color-light);
}

.gd-accordion-content {
    display: none;
    padding: var(--gd-space-lg) var(--gd-space-xl);
    border-top: 1px solid var(--gd-color-border);
}

.gd-accordion-item.is-open .gd-accordion-content { display: block; }

/* Shadow style */
.gd-accordion--shadow .gd-accordion-item {
    border: none;
    box-shadow: var(--gd-shadow-sm);
}

/* -------------------------------------------------------------------------
   Menu Grid block
   ------------------------------------------------------------------------- */
.gd-menu-grid {
    display: grid;
    gap: var(--gd-space-xl);
}

.gd-menu-grid--1 { grid-template-columns: 1fr; }
.gd-menu-grid--2 { grid-template-columns: repeat(2, 1fr); }
.gd-menu-grid--3 { grid-template-columns: repeat(3, 1fr); }
.gd-menu-grid--4 { grid-template-columns: repeat(4, 1fr); }

/* Card style */
.gd-menu-card {
    background: var(--gd-color-white);
    border-radius: var(--gd-radius-md);
    overflow: hidden;
    box-shadow: var(--gd-shadow-sm);
    transition: transform var(--gd-transition), box-shadow var(--gd-transition);
    display: flex;
    flex-direction: column;
}

.gd-menu-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--gd-shadow-md);
}

.gd-menu-card__image {
    aspect-ratio: 4/3;
    overflow: hidden;
}

.gd-menu-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.gd-menu-card:hover .gd-menu-card__image img {
    transform: scale(1.05);
}

.gd-menu-card__body {
    padding: var(--gd-space-lg);
    flex: 1;
    display: flex;
    flex-direction: column;
}

.gd-menu-card__cat {
    font-size: var(--gd-font-size-xs);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--gd-color-primary);
    margin-bottom: var(--gd-space-xs);
}

.gd-menu-card__name {
    font-family: var(--gd-font-heading);
    font-size: var(--gd-font-size-lg);
    font-weight: 700;
    margin-bottom: var(--gd-space-xs);
    color: var(--gd-color-secondary);
}

.gd-menu-card__desc {
    font-size: var(--gd-font-size-sm);
    color: var(--gd-color-muted);
    line-height: 1.5;
    flex: 1;
    margin-bottom: var(--gd-space-md);
}

.gd-menu-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
}

.gd-menu-card__price {
    font-family: var(--gd-font-heading);
    font-size: var(--gd-font-size-xl);
    font-weight: 700;
    color: var(--gd-color-primary);
}

/* List style */
.gd-menu-grid--list .gd-menu-card {
    flex-direction: row;
    align-items: center;
}

.gd-menu-grid--list .gd-menu-card__image {
    width: 120px;
    flex-shrink: 0;
    aspect-ratio: 1;
    border-radius: var(--gd-radius-md);
    overflow: hidden;
}

/* -------------------------------------------------------------------------
   Stats / Counter
   ------------------------------------------------------------------------- */
.gd-stat {
    text-align: center;
    padding: var(--gd-space-xl);
}

.gd-stat__number {
    font-family: var(--gd-font-heading);
    font-size: var(--gd-font-size-5xl);
    font-weight: 900;
    color: var(--gd-color-primary);
    line-height: 1;
    display: inline-block;
}

.gd-stat__suffix {
    font-family: var(--gd-font-heading);
    font-size: var(--gd-font-size-3xl);
    font-weight: 700;
    color: var(--gd-color-primary);
}

.gd-stat__label {
    font-size: var(--gd-font-size-sm);
    color: rgba(255, 255, 255, 0.7);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-top: var(--gd-space-sm);
}

/* -------------------------------------------------------------------------
   Testimonials
   ------------------------------------------------------------------------- */
.gd-testimonial {
    background: var(--gd-color-white);
    border-radius: var(--gd-radius-lg);
    padding: var(--gd-space-2xl);
    box-shadow: var(--gd-shadow-sm);
    text-align: center;
}

.gd-testimonial__text {
    font-family: var(--gd-font-heading);
    font-size: var(--gd-font-size-xl);
    font-style: italic;
    color: var(--gd-color-secondary);
    line-height: 1.6;
    margin-bottom: var(--gd-space-lg);
}

.gd-testimonial__author {
    font-size: var(--gd-font-size-sm);
    font-weight: 700;
    color: var(--gd-color-primary);
    font-style: normal;
}

/* -------------------------------------------------------------------------
   Post card (archive)
   ------------------------------------------------------------------------- */
.gd-post-card {
    background: var(--gd-color-white);
    border-radius: var(--gd-radius-md);
    overflow: hidden;
    box-shadow: var(--gd-shadow-sm);
    transition: transform var(--gd-transition), box-shadow var(--gd-transition);
    display: flex;
    flex-direction: column;
}

.gd-post-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--gd-shadow-md);
}

.gd-post-cat {
    font-size: var(--gd-font-size-xs) !important;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--gd-color-primary) !important;
    text-decoration: none;
}

.gd-read-more {
    font-size: var(--gd-font-size-sm);
    font-weight: 700;
    color: var(--gd-color-primary);
    text-decoration: none;
    transition: color var(--gd-transition);
}

.gd-read-more:hover { color: var(--gd-color-accent); }

/* -------------------------------------------------------------------------
   Pagination
   ------------------------------------------------------------------------- */
.gd-pagination,
.wp-block-query-pagination {
    display: flex;
    justify-content: center;
    gap: var(--gd-space-xs);
    flex-wrap: wrap;
    margin-top: var(--gd-space-2xl);
}

.gd-pagination a,
.gd-pagination span,
.wp-block-query-pagination a,
.wp-block-query-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 0 var(--gd-space-md);
    border: 1px solid var(--gd-color-border);
    border-radius: var(--gd-radius-sm);
    font-size: var(--gd-font-size-sm);
    font-weight: 600;
    color: var(--gd-color-text);
    text-decoration: none;
    transition: all var(--gd-transition);
}

.gd-pagination a:hover,
.wp-block-query-pagination a:hover {
    background: var(--gd-color-primary);
    border-color: var(--gd-color-primary);
    color: var(--gd-color-white);
}

.gd-pagination .current,
.wp-block-query-pagination .page-numbers.current {
    background: var(--gd-color-primary);
    border-color: var(--gd-color-primary);
    color: var(--gd-color-white);
}

/* -------------------------------------------------------------------------
   Search form
   ------------------------------------------------------------------------- */
.gd-header-search .wp-block-search__inside-wrapper {
    border: 1px solid var(--gd-color-border);
    border-radius: var(--gd-radius-full);
    overflow: hidden;
    display: flex;
    height: 40px;
}

.gd-header-search input[type="search"] {
    border: none;
    outline: none;
    padding: 0 var(--gd-space-md);
    font-size: var(--gd-font-size-sm);
    background: transparent;
}

.gd-header-search button {
    background: var(--gd-color-primary);
    border: none;
    color: white;
    padding: 0 var(--gd-space-md);
    cursor: pointer;
    transition: background var(--gd-transition);
}

.gd-header-search button:hover { background: var(--gd-color-accent); }

/* -------------------------------------------------------------------------
   Mega menu
   ------------------------------------------------------------------------- */
.main-navigation li.has-mega-menu {
    position: static;
}

.gd-mega-menu {
    position: absolute;
    left: 0;
    right: 0;
    background: var(--gd-color-white);
    box-shadow: var(--gd-shadow-lg);
    border-top: 2px solid var(--gd-color-primary);
    padding: var(--gd-space-2xl);
    display: none;
    z-index: 100;
}

.main-navigation li.has-mega-menu:hover .gd-mega-menu { display: block; }

.gd-mega-columns {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: var(--gd-space-xl);
    list-style: none;
    margin: 0;
    padding: 0;
}

/* -------------------------------------------------------------------------
   404 page
   ------------------------------------------------------------------------- */
.error-404 .gd-container {
    text-align: center;
}

/* -------------------------------------------------------------------------
   Image modifiers
   ------------------------------------------------------------------------- */
.gd-image--rounded img  { border-radius: var(--gd-radius-lg); }
.gd-image--circle img   { border-radius: 50%; }
.gd-image--shadow img   { box-shadow: var(--gd-shadow-lg); }

/* -------------------------------------------------------------------------
   Notice / alerts
   ------------------------------------------------------------------------- */
.gd-notice {
    padding: var(--gd-space-md) var(--gd-space-xl);
    background: var(--gd-color-light);
    border-left: 4px solid var(--gd-color-primary);
    border-radius: var(--gd-radius-sm);
    font-size: var(--gd-font-size-sm);
    color: var(--gd-color-muted);
}

/* -------------------------------------------------------------------------
   Social links
   ------------------------------------------------------------------------- */
.gd-social-links .wp-block-social-link a {
    border-radius: 50%;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.1);
    transition: background var(--gd-transition);
}

.gd-social-links .wp-block-social-link a:hover {
    background: var(--gd-color-primary);
}

/* -------------------------------------------------------------------------
   Language switcher (Polylang + Goldone fallback)
   ------------------------------------------------------------------------- */
.gd-lang-switcher {
    display: flex;
    align-items: center;
}

.gd-lang-switcher__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.gd-lang-switcher__item a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    font-size: var(--gd-font-size-xs);
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--gd-color-muted);
    border-radius: var(--gd-radius-sm);
    text-decoration: none;
    transition: background var(--gd-transition), color var(--gd-transition);
}

.gd-lang-switcher__item a:hover {
    background: var(--gd-color-light);
    color: var(--gd-color-primary);
}

.gd-lang-switcher__item.is-active a {
    color: var(--gd-color-primary);
    background: var(--gd-color-light);
}

/* Polylang outputs ul with .pll-parent-menu-items etc. */
.gd-lang-switcher--polylang ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.gd-lang-switcher--polylang li {
    margin: 0;
}

.gd-lang-switcher--polylang a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    font-size: var(--gd-font-size-xs);
    font-weight: 600;
    color: var(--gd-color-muted);
    text-decoration: none;
    border-radius: var(--gd-radius-sm);
}

.gd-lang-switcher--polylang a:hover,
.gd-lang-switcher--polylang .current-lang a {
    color: var(--gd-color-primary);
    background: var(--gd-color-light);
}

.gd-lang-switcher--polylang img {
    width: 18px;
    height: auto;
    border-radius: 2px;
}

@media (max-width: 768px) {
    .header-actions .gd-lang-switcher {
        order: -1;
        width: 100%;
        justify-content: center;
        margin-bottom: 8px;
    }
}

/* -------------------------------------------------------------------------
   Breadcrumb
   ------------------------------------------------------------------------- */
.gd-breadcrumb {
    font-size: var(--gd-font-size-sm);
    margin-bottom: var(--gd-space-lg);
}

.gd-breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0;
}

.gd-breadcrumb__item a {
    color: var(--gd-color-muted);
    text-decoration: none;
    transition: color var(--gd-transition);
}
.gd-breadcrumb__item a:hover { color: var(--gd-color-primary); }

.gd-breadcrumb__item span[aria-current="page"] {
    color: var(--gd-color-text);
    font-weight: 600;
}

.gd-breadcrumb__sep {
    color: var(--gd-color-border);
    padding: 0 var(--gd-space-xs);
    font-size: var(--gd-font-size-xs);
    display: flex;
    align-items: center;
}

/* Rank Math breadcrumb wrapper – override RM default styles */
.gd-breadcrumb--rankmath .rank-math-breadcrumb,
.gd-breadcrumb--rankmath p {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0;
    padding: 0;
    font-size: var(--gd-font-size-sm);
}

.gd-breadcrumb--rankmath .rank-math-breadcrumb a {
    color: var(--gd-color-muted);
    text-decoration: none;
    transition: color var(--gd-transition);
}
.gd-breadcrumb--rankmath .rank-math-breadcrumb a:hover {
    color: var(--gd-color-primary);
}

.gd-breadcrumb--rankmath .rank-math-breadcrumb .last {
    color: var(--gd-color-text);
    font-weight: 600;
}

.gd-breadcrumb--rankmath .rank-math-breadcrumb .separator {
    color: var(--gd-color-border);
    margin: 0 4px;
    display: inline-flex;
    align-items: center;
}

/* -------------------------------------------------------------------------
   SEO – Reading time badge
   ------------------------------------------------------------------------- */
.gd-reading-time {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--gd-font-size-xs);
    color: var(--gd-color-muted);
}

/* -------------------------------------------------------------------------
   Responsive overrides
   ------------------------------------------------------------------------- */
@media (max-width: 1024px) {
    .gd-row--4  { grid-template-columns: repeat(2, 1fr); }
    .gd-row--5  { grid-template-columns: repeat(3, 1fr); }
    .gd-row--6  { grid-template-columns: repeat(3, 1fr); }
    .gd-menu-grid--4 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .gd-row--2,
    .gd-row--3,
    .gd-row--4,
    .gd-row--5,
    .gd-row--6 { grid-template-columns: 1fr; }

    .gd-col-1, .gd-col-2, .gd-col-3, .gd-col-4,
    .gd-col-5, .gd-col-6, .gd-col-7, .gd-col-8,
    .gd-col-9, .gd-col-10, .gd-col-11, .gd-col-12 {
        grid-column: span 12;
    }

    .gd-menu-grid--2,
    .gd-menu-grid--3,
    .gd-menu-grid--4 { grid-template-columns: 1fr; }

    .gd-stat__number { font-size: var(--gd-font-size-3xl); }

    .gd-banner { min-height: 400px !important; }

    .gd-menu-grid--list .gd-menu-card {
        flex-direction: column;
    }
    .gd-menu-grid--list .gd-menu-card__image {
        width: 100%;
    }
}
