/**
 * GCE visual layer for DER AGRARHANDEL.
 * Scope everything to .gce-page so the normal DAH header and other pages
 * remain untouched.
 *
 * Suggested body classes:
 *   gce-page
 *   gce-page gce-form-page
 *
 * Suggested Elementor container classes:
 *   gce-section gce-section--cream
 *   gce-section gce-section--green
 *   gce-section gce-section--sand
 *   gce-section gce-section--white
 *   gce-card
 *   gce-kicker
 */

.gce-page {
/*
    --gce-green: #163b29;
    --gce-olive: #9ead5e;
    --gce-pale-green: #e4edd5;
    --gce-cream: #faf7ef;
    --gce-sand: #f1ead6;
    --gce-ink: #22271f;
    --gce-muted: #4b5245;
    --gce-line: #e2dac0;
    --gce-gold: #c79a2e;
*/
    --gce-green: #33553A;       /* Dunkelgrün: Buttons / starke Flächen */
    --gce-olive: #768334;       /* Akzentgrün: Akzente */
    --gce-pale-green: #e4edd5;  /* Hellgrün: helle Flächen */
    --gce-cream: #faf7ef;       /* Creme: Inhaltsflächen */
    --gce-sand: #F1EAD6;        /* Beige: Abschnittsflächen */
    --gce-ink: #22271f;         /* Überschriften: Haupttext dunkel */
    --gce-muted: #4B5245;       /* Fließtext */
    --gce-line: #e2dac0;
    --gce-gold: #c79a2e;        /* Gold: sekundärer Akzent */



    --gce-white: #ffffff;
    --gce-radius: 18px;
    --gce-radius-small: 10px;
    --gce-shadow: 0 20px 50px -20px rgba(22, 59, 41, .28);
    --gce-content-width: 1280px;
    --gce-font: "Inter", "Roboto", Arial, sans-serif;
}

/* Do not touch the DAH header/footer typography. */
.gce-page main,
.gce-page #content,
.gce-page .site-main,
.gce-page .elementor.page
{
    font-family: var(--gce-font);
    color: var(--gce-ink);
}

.gce-page main,
.gce-page #content {
    background: var(--gce-cream);
}

.gce-page .elementor.page h1,
.gce-page .elementor.page h2,
.gce-page .elementor.page h3,
.gce-page .elementor.page h4,
.gce-page .elementor.page h5,
.gce-page .elementor.page h6,
.gce-page main h1,
.gce-page main h2,
.gce-page main h3,
.gce-page main h4,
.gce-page main h5,
.gce-page main h6,
.gce-page #content h1,
.gce-page #content h2,
.gce-page #content h3,
.gce-page #content h4, 
.gce-page #content h5,
.gce-page #content h6
{
    font-family: var(--gce-font);
    color: var(--gce-ink);
    letter-spacing: -.025em;
    line-height: 1.08;
}

.gce-page main h1,
.gce-page #content h1 {
    font-size: clamp(2.2rem, 4.5vw, 4.5rem);
    font-weight: 700;
}

.gce-page main h2,
.gce-page #content h2 {
    font-size: clamp(1.8rem, 3.25vw, 3.25rem);
    font-weight: 700;
}

.gce-page main h3,
.gce-page #content h3 {
    font-size: clamp(1.35rem, 2vw, 2rem);
    font-weight: 700;
}

.gce-page main p,
.gce-page main li,
.gce-page #content p,
.gce-page #content li {
    font-family: var(--gce-font);
    line-height: 1.65;
}

.gce-page main a,
.gce-page #content a {
    color: var(--gce-green);
    text-decoration-thickness: 1px;
    text-underline-offset: .15em;
}

/* Generic Elementor/GCE layout helpers. */
.gce-page .gce-section {
    --gce-section-bg: var(--gce-cream);
    background: var(--gce-section-bg) !important;
    padding-block: clamp(48px, 4vw, 800px) !important;
}


.gce-page .gce-section--large {
    padding-block: clamp(48px, 7vw, 110px) !important;
}
.gce-page .gce-section--compact {
    padding-block: clamp(20px, 3vw, 48px) !important;
}

.gce-page .gce-section--flush {
    padding-block: 0 !important;
}

.gce-page .gce-section--cream { --gce-section-bg: var(--gce-cream); }
.gce-page .gce-section--green { --gce-section-bg: var(--gce-pale-green); }
.gce-page .gce-section--sand  { --gce-section-bg: var(--gce-sand); }
.gce-page .gce-section--white { --gce-section-bg: var(--gce-white); }

.gce-page .gce-section > .e-con-inner,
.gce-page .gce-section > .elementor-container,
.gce-page .gce-width {
    width: min(100% - 40px, var(--gce-content-width));
    max-width: var(--gce-content-width);
    margin-inline: auto;
}

.gce-page .gce-card {
    background: var(--gce-white);
    border-radius: var(--gce-radius);
    box-shadow: 0 1px 0 rgba(22, 59, 41, .04);
    padding: clamp(24px, 3vw, 48px) !important;
}

.gce-page .gce-card.small-padding {
    padding: clamp(20px, 2vw, 28px) !important;
}

.gce-page .gce-card--sand {
    background: var(--gce-sand);
}

.gce-page .gce-card--hover {
    transition: box-shadow .25s ease, transform .25s ease;
}

.gce-page .gce-shadow {
    box-shadow: var(--gce-shadow);
}

.gce-page .gce-card--hover:hover {
    box-shadow: var(--gce-shadow);
    transform: translateY(-3px);
}

.gce-page .gce-kicker,
.gce-page .gce-kicker .elementor-heading-title {
    color: var(--gce-olive) !important;
    font-family: var(--gce-font) !important;
    font-size: .9rem !important;
    font-weight: 500 !important;
    letter-spacing: .03em !important;
    text-transform: uppercase;
}

.gce-page .gce-kicker::before,
.gce-page .gce-kicker .elementor-heading-title::before {
    content: "";
    display: inline-block;
    width: 38px;
    height: 2px;
    margin: 0 10px 4px 0;
    background: var(--gce-gold);
}
/*
.gce-page .gce-logo img {
    width: min(100%, 680px);
    height: auto;
}
*/
.gce-page .gce-logo img {
    width: min(90vw, 900px);
    height: auto;
    display: block;
    margin-inline: auto;
}

/* Buttons - scoped to content, not the DAH navigation. */
.gce-page main .elementor-button,
.gce-page #content .elementor-button,
.gce-page main .wp-element-button,
.gce-page #content .wp-element-button,
.gce-page main button:not(.menu-toggle),
.gce-page #content button:not(.menu-toggle),
.gce-page .frm_button_submit {
    border: 1px solid var(--gce-green) !important;
    border-radius: 999px !important;
    background: var(--gce-green) !important;
    color: #fff !important;
    font-family: var(--gce-font) !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    padding: 12px 24px !important;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.gce-page main .elementor-button:hover,
.gce-page #content .elementor-button:hover,
.gce-page main .wp-element-button:hover,
.gce-page #content .wp-element-button:hover,
.gce-page main button:not(.menu-toggle):hover,
.gce-page #content button:not(.menu-toggle):hover,
.gce-page .frm_button_submit:hover {
    background: var(--gce-olive) !important;
    border-color: var(--gce-olive) !important;
    color: var(--gce-green) !important;
    transform: translateY(-1px);
}

/* Formidable Forms - exhibition/registration forms. */
.gce-page .frm_forms {
    font-family: var(--gce-font);
    color: var(--gce-ink);
}

.gce-page.gce-form-page .frm_forms {
    background: var(--gce-white);
    border: 1px solid rgba(22, 59, 41, .08);
    border-radius: var(--gce-radius);
    padding: clamp(22px, 4vw, 52px);
    box-shadow: 0 12px 35px -32px rgba(22, 59, 41, .4);
}

.gce-page .frm_forms fieldset {
    border: 0;
    padding: 0;
}

.gce-page .frm_forms .frm_primary_label,
.gce-page .frm_forms .frm_section_heading h3,
.gce-page .frm_forms .frm_section_heading h2 {
    font-family: var(--gce-font) !important;
    color: var(--gce-ink) !important;
}

.gce-page .frm_forms .frm_primary_label {
    font-weight: 600 !important;
    margin-bottom: 7px !important;
}

.gce-page .frm_forms .frm_description,
.gce-page .frm_forms .frm_error,
.gce-page .frm_forms .frm_opt_container label {
    font-family: var(--gce-font) !important;
}

.gce-page .frm_forms input[type="text"],
.gce-page .frm_forms input[type="email"],
.gce-page .frm_forms input[type="tel"],
.gce-page .frm_forms input[type="number"],
.gce-page .frm_forms input[type="url"],
.gce-page .frm_forms input[type="date"],
.gce-page .frm_forms select,
.gce-page .frm_forms textarea {
    width: 100%;
    min-height: 48px;
    border: 1px solid #cfd5c9 !important;
    border-radius: var(--gce-radius-small) !important;
    background: #fff !important;
    color: var(--gce-ink) !important;
    font-family: var(--gce-font) !important;
    font-size: 16px !important;
    padding: 11px 14px !important;
    box-shadow: none !important;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.gce-page .frm_forms textarea {
    min-height: 130px;
    resize: vertical;
}

.gce-page .frm_forms input:focus,
.gce-page .frm_forms select:focus,
.gce-page .frm_forms textarea:focus {
    border-color: var(--gce-green) !important;
    box-shadow: 0 0 0 3px rgba(22, 59, 41, .1) !important;
    outline: 0 !important;
}

.gce-page .frm_forms input[type="checkbox"],
.gce-page .frm_forms input[type="radio"] {
    accent-color: var(--gce-green);
}

.gce-page .frm_forms .frm_section_heading {
    margin-top: clamp(26px, 4vw, 48px);
    padding-top: clamp(22px, 3vw, 36px);
    border-top: 1px solid var(--gce-line);
}

.gce-page .frm_forms .frm_section_heading:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.gce-page .frm_forms .frm_submit {
    margin-top: 24px;
}

.gce-page .frm_forms .frm_error_style,
.gce-page .frm_forms .frm_error {
    color: #9a342f !important;
}

.gce-page .frm_forms .frm_message {
    border: 1px solid #9ead5e;
    border-radius: var(--gce-radius-small);
    background: #f3f7e8;
    color: var(--gce-green);
    padding: 18px 20px;
}

/* Optional two-column helper for Elementor containers. */
.gce-page .gce-grid-2 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(24px, 4vw, 64px);
    align-items: start;
}

/* Page-specific convenience defaults. Header remains DAH. */
.gce-page.gce-form-page main,
.gce-page.gce-form-page #content {
    background: var(--gce-cream);
}

.gce-page.gce-form-page .gce-form-intro {
    background: var(--gce-pale-green);
    border-radius: var(--gce-radius);
    padding: clamp(24px, 4vw, 48px);
}

@media (max-width: 767px) {
    .gce-page .gce-section {
        padding-block: 44px !important;
    }

    .gce-page .gce-section > .e-con-inner,
    .gce-page .gce-section > .elementor-container,
    .gce-page .gce-width {
        width: min(100% - 28px, var(--gce-content-width));
    }

    .gce-page .gce-grid-2 {
        grid-template-columns: 1fr;
    }

    .gce-page.gce-form-page .frm_forms {
        padding: 20px;
        border-radius: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gce-page .gce-card--hover,
    .gce-page main .elementor-button,
    .gce-page #content .elementor-button,
    .gce-page .frm_button_submit {
        transition: none;
    }

    .gce-page .gce-card--hover:hover,
    .gce-page main .elementor-button:hover,
    .gce-page #content .elementor-button:hover,
    .gce-page .frm_button_submit:hover {
        transform: none;
    }
}

/* --------------------------------------------------
   Optional GCE content layout helpers
   --------------------------------------------------
   On the page body use: gce-page gce-form-page gce-no-sidebar
   In Elementor mark the content wrapper/columns with:
     gce-layout   (parent of main + sidebar, optional)
     gce-main     (main content column/container)
     gce-sidebar  (DAH sidebar column/container)
*/
.gce-page {
    background: var(--gce-cream);
}

.gce-page.gce-no-sidebar .gce-sidebar {
    display: none !important;
}

.gce-page.gce-no-sidebar .gce-main {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
}

.gce-page.gce-no-sidebar .gce-layout {
    grid-template-columns: minmax(0, 1fr) !important;
}

/* Common Elementor flex-container case: the visible main child should fill the row. */
.gce-page.gce-no-sidebar .gce-layout.e-con,
.gce-page.gce-no-sidebar .gce-layout > .e-con-inner {
    --flex-direction: row;
}

.gce-page.gce-no-sidebar .gce-layout > .gce-main,
.gce-page.gce-no-sidebar .gce-layout > .e-con-inner > .gce-main {
    flex-basis: 100% !important;
    flex-grow: 1 !important;
}

/* --------------------------------------------------
   DAH Elementor Single-Page template: GCE without sidebar
   --------------------------------------------------
   The DAH Single Page template (Elementor template 5207) owns the
   main/sidebar columns, so page editors cannot assign classes to them.
   Scope these overrides strictly to GCE pages carrying gce-no-sidebar.
*/
.gce-page.gce-no-sidebar .elementor-5207 [data-id="16a7e19"] {
    display: none !important;
}

.gce-page.gce-no-sidebar .elementor-5207 [data-id="6bbd163"] {
    --width: 100% !important;
    --flex-grow: 1 !important;
    --flex-shrink: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    border-left: 0 !important;
    border-right: 0 !important;
}
/*
.gce-page.gce-no-sidebar .elementor-5207 [data-id="7dd1abf"] {
    --content-width: var(--gce-content-width) !important;
}*/

.gce-page.gce-no-sidebar .elementor-5207 [data-id="7dd1abf"] {
    --content-width: 100% !important;
    --padding-left: 0 !important;
    --padding-right: 0 !important;
    width: 100% !important;
    max-width: none !important;
}

.gce-page.gce-no-sidebar
.elementor-5207 [data-id="7dd1abf"] > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
}

.gce-page.gce-no-sidebar .elementor-5207 [data-id="7dd1abf"] > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) !important;
}
