:root {
    --gm-color-bg: #ffffff;
    --gm-color-text: #1f3d1f;
    --gm-color-muted: #4f6f4f;
    --gm-color-border: #cfe3cf;
    --gm-color-primary: #6bb42f;
    --gm-color-primary-hover: #5a9a28;
    --gm-color-success: #2f7d32;
    --gm-color-danger: #2f7d32;
    --gm-radius-sm: 8px;
    --gm-radius-md: 12px;
    --gm-radius-lg: 16px;
    --gm-space-1: 8px;
    --gm-space-2: 12px;
    --gm-space-3: 16px;
    --gm-space-4: 24px;
    --gm-space-5: 32px;
    --gm-shadow-sm: 0 2px 8px rgba(17, 24, 39, 0.08);
    --gm-shadow-md: 0 10px 28px rgba(17, 24, 39, 0.1);
    --gm-font-base: "Commissioner", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

:root,
.elementor-kit-7895 {
    --e-global-color-primary: var(--gm-color-primary);
    --e-global-color-accent: var(--gm-color-primary);
    --e-global-color-text: var(--gm-color-text);
}

html,
body {
    background-color: var(--gm-color-bg);
    color: var(--gm-color-text);
    font-family: var(--gm-font-base);
}

body {
    line-height: 1.55;
}

a {
    color: var(--gm-color-primary);
    text-decoration: underline;
    text-decoration-color: var(--gm-color-primary);
    transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

a:hover,
a:focus {
    color: var(--gm-color-primary-hover);
    text-decoration-color: var(--gm-color-primary-hover);
}

::selection {
    background: var(--gm-color-primary);
    color: #ffffff;
}

h1,
h2,
h3,
h4,
h5,
h6,
.elementor-heading-title {
    color: var(--gm-color-text);
    line-height: 1.25;
}

.site-header,
.site-footer {
    background: #ffffff;
}

.site-header {
    border-bottom: 1px solid var(--gm-color-border);
}

.site-footer {
    border-top: 1px solid var(--gm-color-border);
}

.page-header .entry-title,
.site-header .header-inner,
.site-footer .footer-inner,
body:not([class*="elementor-page-"]) .site-main {
    max-width: 1400px;
}

:where(
    button,
    .button,
    input[type="submit"],
    input[type="button"],
    .elementor-button,
    .wp-element-button,
    .wc-block-components-button:not(.is-link)
) {
    border-radius: 999px;
    border: 1px solid transparent;
    background: var(--gm-color-primary);
    color: #ffffff;
    font-family: var(--gm-font-base);
    font-weight: 600;
    padding: 10px 18px;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

:where(
    button,
    .button,
    input[type="submit"],
    input[type="button"],
    .elementor-button,
    .wp-element-button,
    .wc-block-components-button:not(.is-link)
):hover {
    background: var(--gm-color-primary-hover);
    color: #ffffff;
}

:where(
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="password"],
    input[type="search"],
    input[type="number"],
    select,
    textarea
) {
    border: 1px solid #cdd6cc;
    border-radius: var(--gm-radius-sm);
    background: #fafcf9;
    color: var(--gm-color-text);
    font-family: var(--gm-font-base);
    padding: 10px 12px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

:where(
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="password"],
    input[type="search"],
    input[type="number"],
    select,
    textarea
):focus {
    border-color: var(--gm-color-primary);
    box-shadow: 0 0 0 3px rgba(107, 180, 47, 0.2);
    outline: 0;
    background: #ffffff;
}

.woocommerce ul.products li.product .button,
.woocommerce div.product form.cart .button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    border-radius: 999px;
    background: var(--gm-color-primary);
    color: #ffffff;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce div.product form.cart .button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    background: var(--gm-color-primary-hover);
    color: #ffffff;
}
