/* ==========================================
   GEGENSTROM – GUTENBERG SECTION STYLES
   Targets native Gutenberg block output
   to replicate the original design.
   ========================================== */

/* Reveal nur im Frontend */
#main-content .reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1),
                transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
#main-content .reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

/* ==========================================
   HERO (wp:cover)
   ========================================== */

.wp-block-cover.gs-hero,
section.wp-block-group.gs-hero {
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    padding-top: 80px;
    min-height: 100vh;
    background: var(--color-bg-light);
}

.gs-hero .wp-block-cover__inner-container,
.gs-hero .gs-hero-content {
    position: relative;
    z-index: 2;
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 var(--container-padding);
    width: 100%;
}

/* ==========================================
   HERO-GRID (Shortcode [gs_hero_grid])
   ========================================== */

.gs-hero .gs-hero-grid {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(3, 1fr);
    gap: var(--spacing-sm);
    padding: calc(80px + var(--spacing-md)) var(--spacing-md) var(--spacing-md);
    z-index: 0;
    pointer-events: none;
    will-change: transform;
}

body.admin-bar .gs-hero .gs-hero-grid {
    padding-top: calc(80px + 32px + var(--spacing-md));
}
@media (max-width: 782px) {
    body.admin-bar .gs-hero .gs-hero-grid {
        padding-top: calc(80px + 46px + var(--spacing-md));
    }
}

.gs-hero .gs-hero-tile {
    background: var(--color-bg-white);
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--color-bg-dark);
    position: relative;
}

.gs-hero .gs-hero-tile img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    display: block;
}

@media (max-width: 1024px) {
    .gs-hero .gs-hero-grid {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(4, 1fr);
    }
}

@media (max-width: 768px) {
    .gs-hero .gs-hero-grid {
        display: none !important;
    }
}

.gs-hero .hero-inner {
    max-width: 700px;
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: var(--spacing-xl);
    border-radius: var(--radius-xl);
    border: 1px solid rgba(255, 255, 255, 0.4);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.05);
}

.gs-hero .hero-badge {
    display: inline-block;
    padding: 0.5rem 1rem;
    background: var(--color-bg-white);
    border-radius: var(--radius-full);
    font-size: var(--font-size-sm);
    font-weight: 500;
    color: var(--color-text-secondary);
    box-shadow: var(--shadow-sm);
    margin-bottom: var(--spacing-lg);
    word-spacing: normal;
}

.gs-hero .hero-badge::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    background: var(--color-secondary);
    border-radius: 50%;
    margin-right: var(--spacing-xs);
    vertical-align: middle;
    animation: pulse 2s ease-in-out infinite;
}

.gs-hero .hero-title {
    font-size: clamp(2.5rem, 5vw, var(--font-size-5xl));
    line-height: 1.1;
    margin-bottom: var(--spacing-md);
    letter-spacing: -0.03em;
    color: var(--color-text);
}

.gs-hero .hero-title strong {
    font-weight: inherit;
    background: linear-gradient(135deg, var(--color-secondary) 0%, var(--color-secondary-light) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.gs-hero .hero-subtitle {
    font-size: var(--font-size-lg);
    color: var(--color-text-secondary);
    max-width: 500px;
    margin-bottom: var(--spacing-lg);
    line-height: var(--leading-relaxed);
}

.gs-hero::before {
    content: '';
    position: absolute;
    top: 20%; right: 10%;
    width: 400px; height: 400px;
    background: radial-gradient(circle, rgba(218,41,28,0.08) 0%, transparent 70%);
    border-radius: 50%;
    z-index: 0;
    animation: float 8s ease-in-out infinite;
}

.gs-hero::after {
    content: '';
    position: absolute;
    bottom: 10%; left: 5%;
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(82,85,89,0.06) 0%, transparent 70%);
    border-radius: 50%;
    z-index: 0;
    animation: float 10s ease-in-out infinite reverse;
}

/* ==========================================
   BUTTONS
   ========================================== */

.gs-btn-primary .wp-block-button__link {
    background: linear-gradient(135deg, var(--color-secondary) 0%, var(--color-secondary-dark) 100%) !important;
    color: var(--color-text-white) !important;
    box-shadow: 0 4px 16px rgba(218,41,28,0.3);
    border-radius: var(--radius-full) !important;
    padding: 0.875rem 2rem;
    font-family: var(--font-family);
    font-weight: 600;
    font-size: var(--font-size-sm);
    border: none !important;
    transition: all var(--transition-base);
}
.gs-btn-primary .wp-block-button__link:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(218,41,28,0.4);
}

.gs-btn-secondary .wp-block-button__link {
    background-color: var(--color-bg-white) !important;
    color: var(--color-text) !important;
    box-shadow: var(--shadow-sm), inset 0 0 0 1px var(--color-bg-dark);
    border-radius: var(--radius-full) !important;
    padding: 0.875rem 2rem;
    font-family: var(--font-family);
    font-weight: 600;
    font-size: var(--font-size-sm);
    border: none !important;
    transition: all var(--transition-base);
}
.gs-btn-secondary .wp-block-button__link:hover {
    background-color: var(--color-text) !important;
    color: var(--color-text-white) !important;
    transform: translateY(-2px);
}

.gs-btn-cta .wp-block-button__link {
    background: var(--color-text-white) !important;
    color: var(--color-secondary) !important;
    font-size: var(--font-size-base);
    padding: 1.125rem 2.5rem;
    border-radius: var(--radius-full) !important;
    font-family: var(--font-family);
    font-weight: 600;
    box-shadow: var(--shadow-lg);
    border: none !important;
    transition: all var(--transition-base);
}
.gs-btn-cta .wp-block-button__link:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: var(--shadow-xl);
}

/* ==========================================
   BENTO GRID
   ========================================== */

.bento-grid.wp-block-group {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: var(--spacing-md);
    margin-top: var(--spacing-xl);
    align-items: stretch !important;
    align-content: flex-start;
}

.bento-grid.wp-block-group > .wp-block-group.bento-item:nth-child(1),
.bento-grid.wp-block-group > .wp-block-group.bento-item:nth-child(2) {
    flex: 1 1 calc((100% - var(--spacing-md)) / 2) !important;
    max-width: calc((100% - var(--spacing-md)) / 2);
    min-width: 0;
    align-self: stretch !important;
}

.bento-grid.wp-block-group > .wp-block-group.bento-item:nth-child(3),
.bento-grid.wp-block-group > .wp-block-group.bento-item:nth-child(4) {
    flex: 2 1 calc((100% - var(--spacing-md) * 2) * 2 / 5) !important;
    max-width: calc((100% - var(--spacing-md) * 2) * 2 / 5);
    min-width: 0;
    align-self: stretch !important;
}

.bento-grid.wp-block-group > .wp-block-group.bento-item:nth-child(5) {
    flex: 1 1 calc((100% - var(--spacing-md) * 2) / 5) !important;
    max-width: calc((100% - var(--spacing-md) * 2) / 5);
    min-width: 0;
    align-self: stretch !important;
}

.wp-block-group.bento-item {
    background: var(--color-bg-white);
    border-radius: var(--radius-xl);
    padding: var(--spacing-lg);
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transition: all var(--transition-base);
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--color-bg-dark);
    display: flex;
    flex-direction: column;
    align-self: stretch;
}

.wp-block-group.bento-item::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(135deg, rgba(218,41,28,0.03) 0%, transparent 50%);
    opacity: 0;
    transition: opacity var(--transition-base);
    pointer-events: none;
}

.wp-block-group.bento-item:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
    border-color: rgba(218,41,28,0.2);
}
.wp-block-group.bento-item:hover::after { opacity: 1; }

.wp-block-group.bento-item.large,
.wp-block-group.bento-item.wide  { /* neutralisiert, Layout via Flex oben */ }

/* Bento Icons */
.wp-block-group.bento-item[class*="bento-icon-"]::before {
    content: '';
    position: static;
    top: auto; left: auto; right: auto; bottom: auto;
    width: 48px; height: 48px;
    display: block;
    opacity: 1;
    margin-bottom: var(--spacing-md);
    border-radius: var(--radius-md);
    flex-shrink: 0;
    background-size: 24px 24px;
    background-repeat: no-repeat;
    background-position: center;
    transition: transform var(--transition-base);
}
.wp-block-group.bento-item:hover[class*="bento-icon-"]::before {
    transform: scale(1.1) rotate(-5deg);
}

.wp-block-group.bento-icon-team::before      { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E") center/24px no-repeat, linear-gradient(135deg,var(--color-secondary),var(--color-secondary-light)) !important; }
.wp-block-group.bento-icon-briefcase::before { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2'%3E%3Crect x='2' y='7' width='20' height='14' rx='2'/%3E%3Cpath d='M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16'/%3E%3C/svg%3E") center/24px no-repeat, linear-gradient(135deg,var(--color-secondary),var(--color-secondary-light)) !important; }
.wp-block-group.bento-icon-star::before      { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E") center/24px no-repeat, linear-gradient(135deg,var(--color-secondary),var(--color-secondary-light)) !important; }
.wp-block-group.bento-icon-bag::before       { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E") center/24px no-repeat, linear-gradient(135deg,var(--color-secondary),var(--color-secondary-light)) !important; }
.wp-block-group.bento-icon-box::before       { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpath d='M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z'/%3E%3Cpolyline points='3.27 6.96 12 12.01 20.73 6.96'/%3E%3Cline x1='12' y1='22.08' x2='12' y2='12'/%3E%3C/svg%3E") center/24px no-repeat, linear-gradient(135deg,var(--color-secondary),var(--color-secondary-light)) !important; }

.wp-block-group.bento-item .bento-title  { margin-bottom: var(--spacing-xs); }
.wp-block-group.bento-item .bento-tagline { margin-bottom: var(--spacing-sm); }
.wp-block-group.bento-item .bento-description { font-size: var(--font-size-sm); }

/* ==========================================
   GALLERY → CAROUSEL
   ========================================== */

.bento-item .gs-carousel.wp-block-gallery {
    position: relative;
    aspect-ratio: 4/3;
    overflow: hidden;
    border-radius: 0 !important;
    margin: auto calc(-1 * var(--spacing-lg)) calc(-1 * var(--spacing-lg)) !important;
    gap: 0 !important;
    background: var(--color-bg-medium);
    flex-shrink: 0;
}

.bento-item.large .gs-carousel.wp-block-gallery { aspect-ratio: 4/3; }

.bento-item .gs-carousel .wp-block-image {
    position: absolute !important;
    top: 0; left: 0; width: 100%; height: 100%;
    opacity: 0;
    transition: opacity 1s ease;
    margin: 0 !important;
}
.bento-item .gs-carousel .wp-block-image.gs-active { opacity: 1; }
.bento-item .gs-carousel .wp-block-image img {
    width: 100% !important; height: 100% !important; object-fit: cover; object-position: center;
}

/* ==========================================
   ABOUT
   ========================================== */

.about .about-content.wp-block-columns { gap: var(--spacing-2xl); align-items: center; }
.about .about-image { position: relative; }

.about .about-main-img {
    border-radius: var(--radius-2xl);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
}
.about .about-main-img img { border-radius: var(--radius-2xl); }
.about .about-main-img::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(135deg, rgba(218,41,28,0.1) 0%, transparent 50%);
    pointer-events: none;
    border-radius: var(--radius-2xl);
}

.about p.about-float-card {
    position: absolute;
    bottom: -20px; right: -20px;
    background: var(--color-bg-white);
    padding: var(--spacing-md);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-lg);
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    line-height: 1.3;
    z-index: 2;
    margin: 0;
}
.about p.about-float-card strong {
    font-size: var(--font-size-2xl);
    font-weight: 700;
    color: var(--color-text);
}
.about p.about-float-card::before {
    content: '';
    width: 48px; height: 48px;
    flex-shrink: 0;
    border-radius: var(--radius-md);
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E") center/24px no-repeat, linear-gradient(135deg,var(--color-secondary),var(--color-secondary-light));
}

.about .about-text .section-title { text-align: left; }
.about .about-text p { margin-bottom: var(--spacing-sm); }
.about .about-text .wp-block-buttons { margin-top: var(--spacing-md); }

/* "mehr über uns erfahren" Button vorerst ausblenden – kommt später wieder */
.about .about-text > .wp-block-buttons { display: none; }

/* ==========================================
   TRUST
   ========================================== */

.trust .trust-grid.wp-block-columns { gap: var(--spacing-md); margin-bottom: var(--spacing-2xl); }

.trust .trust-grid > .trust-item {
    text-align: center;
    padding: var(--spacing-lg);
    background: var(--color-bg-white);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-sm);
    border: 1px solid transparent;
    transition: all var(--transition-base);
}
.trust .trust-item:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
    border-color: rgba(218,41,28,0.1);
}

.trust .trust-item[class*="trust-icon-"]::before {
    content: '';
    width: 56px; height: 56px;
    display: block;
    margin: 0 auto var(--spacing-md);
    border-radius: var(--radius-lg);
    background-size: 28px; background-repeat: no-repeat; background-position: center;
    transition: all var(--transition-base);
}

.trust-icon-clock::before   { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DA291C' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E") center/28px no-repeat, linear-gradient(135deg,var(--color-bg-medium),var(--color-bg-dark)) !important; }
.trust-icon-check::before   { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DA291C' stroke-width='2'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E") center/28px no-repeat, linear-gradient(135deg,var(--color-bg-medium),var(--color-bg-dark)) !important; }
.trust-icon-star::before    { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DA291C' stroke-width='2'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E") center/28px no-repeat, linear-gradient(135deg,var(--color-bg-medium),var(--color-bg-dark)) !important; }
.trust-icon-shield::before  { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DA291C' stroke-width='2'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E") center/28px no-repeat, linear-gradient(135deg,var(--color-bg-medium),var(--color-bg-dark)) !important; }
.trust-icon-wrench::before  { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DA291C' stroke-width='2'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E") center/28px no-repeat, linear-gradient(135deg,var(--color-bg-medium),var(--color-bg-dark)) !important; }

.trust .trust-item h3 { font-size: var(--font-size-base); font-weight: 600; margin-bottom: var(--spacing-xs); }
.trust .trust-item p   { font-size: var(--font-size-sm); color: var(--color-text-secondary); }

/* Target Groups */
.trust .target-groups {
    margin-top: var(--spacing-xl);
    padding: var(--spacing-xl);
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
    border-radius: var(--radius-2xl);
    position: relative;
    overflow: hidden;
}
.trust .target-groups::before {
    content: '';
    position: absolute;
    top: -50%; right: -20%;
    width: 400px; height: 400px;
    background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
    border-radius: 50%;
}
.trust .target-groups::after {
    content: '';
    position: absolute;
    bottom: -30%; left: -10%;
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(218,41,28,0.2) 0%, transparent 70%);
    border-radius: 50%;
}
.trust .target-title { color: var(--color-text-white) !important; position: relative; z-index: 1; }

.trust .target-cards.wp-block-columns { position: relative; z-index: 1; gap: var(--spacing-md); }

.trust .target-card {
    background: rgba(255,255,255,0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: var(--radius-xl);
    padding: var(--spacing-lg);
    text-align: center;
    transition: all var(--transition-base);
}
.trust .target-card:hover {
    background: rgba(255,255,255,0.15);
    transform: translateY(-4px);
}
.trust .target-card h4 { color: var(--color-text-white) !important; margin-bottom: var(--spacing-xs); }
.trust .target-card p  { color: rgba(255,255,255,0.7) !important; font-size: var(--font-size-sm); }

.trust .target-card[class*="target-icon-"]::before {
    content: '';
    width: 64px; height: 64px;
    display: block;
    margin: 0 auto var(--spacing-md);
    border-radius: var(--radius-lg);
    background: rgba(255,255,255,0.15);
    background-size: 32px; background-repeat: no-repeat; background-position: center;
    transition: all var(--transition-base);
}
.trust .target-card:hover::before { background-color: var(--color-secondary); }

.target-icon-team::before     { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E") !important; }
.target-icon-building::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpath d='M3 21h18'/%3E%3Cpath d='M5 21V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16'/%3E%3Cpath d='M9 8h1'/%3E%3Cpath d='M9 12h1'/%3E%3Cpath d='M14 8h1'/%3E%3Cpath d='M14 12h1'/%3E%3C/svg%3E") !important; }
.target-icon-layers::before   { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpath d='M12 2L2 7l10 5 10-5-10-5z'/%3E%3Cpath d='M2 17l10 5 10-5'/%3E%3Cpath d='M2 12l10 5 10-5'/%3E%3C/svg%3E") !important; }
.target-icon-govt::before     { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpath d='M3 21h18'/%3E%3Cpath d='M5 21V7l8-4v18'/%3E%3Cpath d='M19 21V11l-6-4'/%3E%3C/svg%3E") !important; }

/* ==========================================
   CLIENTS MARQUEE (Gallery → Marquee via JS)
   ========================================== */

.gs-logo-marquee.wp-block-gallery {
    gap: var(--spacing-md) !important;
    padding: 0 var(--spacing-sm);
    justify-content: center;
}
.gs-logo-marquee .wp-block-image {
    flex: 0 0 160px !important;
    width: 160px !important;
    height: 72px;
}
.gs-logo-marquee .wp-block-image img {
    max-height: 44px; max-width: 120px;
    width: auto !important; height: auto !important;
    object-fit: contain;
    filter: grayscale(100%); opacity: 0.6;
    transition: all var(--transition-fast);
}
.gs-logo-marquee .wp-block-image:hover img {
    filter: grayscale(0%); opacity: 1;
}

/* ==========================================
   SUSTAINABILITY
   ========================================== */

.sustainability .sustainability-content.wp-block-columns { gap: var(--spacing-2xl); align-items: center; }
.sustainability .sustainability-text .section-title { text-align: left; }
.sustainability .sustainability-intro { font-weight: 600; color: var(--color-secondary) !important; margin-bottom: var(--spacing-sm); }
.sustainability .sustainability-text p { margin-bottom: var(--spacing-md); }

.sustainability .gs-rounded-img img {
    border-radius: var(--radius-2xl);
    box-shadow: var(--shadow-lg);
}

.sustainability .cert-item {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--color-bg-white);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-xs);
    transition: all var(--transition-fast);
    font-size: var(--font-size-sm);
    font-weight: 500;
    color: var(--color-text) !important;
    margin-bottom: var(--spacing-xs);
}
.sustainability .cert-item:hover { box-shadow: var(--shadow-sm); transform: translateX(4px); }

.sustainability .cert-item::before {
    content: '';
    width: 40px; height: 40px;
    flex-shrink: 0;
    border-radius: var(--radius-md);
    background-size: 20px; background-repeat: no-repeat; background-position: center;
    background-color: rgba(218,41,28,0.08);
}
.cert-icon-shield::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DA291C' stroke-width='2'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpolyline points='9 12 11 14 15 10'/%3E%3C/svg%3E") !important; }
.cert-icon-globe::before  { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DA291C' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20'/%3E%3Cpath d='M2 12h20'/%3E%3C/svg%3E") !important; }
.cert-icon-map::before    { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DA291C' stroke-width='2'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") !important; }

/* ==========================================
   CTA
   ========================================== */

.cta .cta-heading {
    color: var(--color-text-white) !important;
    font-size: var(--font-size-4xl);
    line-height: var(--leading-tight);
    margin-bottom: var(--spacing-sm);
}
.cta .cta-text {
    color: rgba(255,255,255,0.9) !important;
    font-size: var(--font-size-lg);
    margin-bottom: var(--spacing-lg);
    line-height: var(--leading-relaxed);
}

.cta .stamp-text {
    width: 160px; height: 160px;
    margin: 0 auto;
    border: 3px solid rgba(255,255,255,0.25);
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    transform: rotate(12deg);
    animation: stampFloat 6s ease-in-out infinite;
    color: rgba(255,255,255,0.3) !important;
    font-size: var(--font-size-xs);
    font-weight: 700;
    text-transform: lowercase;
    letter-spacing: 1px;
    line-height: 1.4;
    position: relative;
}
.cta .stamp-text::before {
    content: '';
    position: absolute;
    top: 10px; left: 10px; right: 10px; bottom: 10px;
    border: 2px dashed rgba(255,255,255,0.2);
    border-radius: var(--radius-full);
}

/* ==========================================
   COFFEE / KONTAKT
   ========================================== */

.coffee .coffee-content.wp-block-columns { gap: var(--spacing-2xl); align-items: start; }
.coffee .coffee-text p { font-size: var(--font-size-lg); line-height: var(--leading-relaxed); padding-top: var(--spacing-md); }

/* ==========================================
   RESPONSIVE
   ========================================== */

@media (max-width: 1200px) {
    .bento-grid.wp-block-group > .wp-block-group.bento-item:nth-child(1),
    .bento-grid.wp-block-group > .wp-block-group.bento-item:nth-child(2),
    .bento-grid.wp-block-group > .wp-block-group.bento-item:nth-child(3),
    .bento-grid.wp-block-group > .wp-block-group.bento-item:nth-child(4),
    .bento-grid.wp-block-group > .wp-block-group.bento-item:nth-child(5) {
        flex: 1 1 calc((100% - var(--spacing-md)) / 2) !important;
        max-width: calc((100% - var(--spacing-md)) / 2);
    }
}

@media (max-width: 768px) {
    .gs-hero .hero-inner { margin: 0 auto; text-align: center; }
    .gs-hero .hero-subtitle { margin-left: auto; margin-right: auto; }
    .gs-hero .wp-block-buttons { justify-content: center; }

    .bento-grid.wp-block-group > .wp-block-group.bento-item:nth-child(1),
    .bento-grid.wp-block-group > .wp-block-group.bento-item:nth-child(2),
    .bento-grid.wp-block-group > .wp-block-group.bento-item:nth-child(3),
    .bento-grid.wp-block-group > .wp-block-group.bento-item:nth-child(4),
    .bento-grid.wp-block-group > .wp-block-group.bento-item:nth-child(5) {
        flex: 1 1 100% !important;
        max-width: 100% !important;
    }

    .about p.about-float-card {
        white-space: nowrap;
    }

    .about .about-content.wp-block-columns,
    .sustainability .sustainability-content.wp-block-columns,
    .coffee .coffee-content.wp-block-columns { flex-direction: column; }

    .about .about-text .section-title,
    .sustainability .sustainability-text .section-title { text-align: center; }

    .about p.about-float-card { right: 50%; transform: translateX(50%); }

    .trust .trust-grid.wp-block-columns { flex-wrap: wrap; }
    .trust .trust-grid > .wp-block-column { flex-basis: calc(50% - var(--spacing-md)) !important; }

    .trust .target-cards.wp-block-columns { flex-wrap: wrap; }
    .trust .target-cards > .wp-block-column { flex-basis: 100% !important; }

    .cta .wp-block-columns { flex-direction: column; text-align: center; }
}

@media (max-width: 480px) {
    .trust .trust-grid > .wp-block-column { flex-basis: 100% !important; }
}
