:root {
    --wp-page-background: #f0fdf4;
    --wp-block-background: #ffffff;
    --wp-text: #1f2937;
    --wp-heading: #064e3b;
    --wp-muted-text: #4b5563;
    --wp-link: #047857;
    --wp-accent: #16a34a;
    --wp-button-text: #ffffff;
    --wp-border: #bbf7d0;
}

body {
    background-color: var(--wp-page-background);
    color: var(--wp-text);
}

.site-header,
.site-footer,
main > * {
    background-color: var(--wp-block-background);
}

h1,
h2,
h3,
h4,
h5 {
    color: var(--wp-heading);
}

a {
    color: var(--wp-link);
}

.button > a,
.banner__controls button {
    background-color: var(--wp-accent);
    color: var(--wp-button-text);
}

figcaption,
cite,
.quote__author {
    color: var(--wp-muted-text);
}

hr,
table,
th,
td,
details,
blockquote {
    border-color: var(--wp-border);
}

* { box-sizing: border-box; }
body { margin: 0; font-family: Arial, sans-serif; line-height: 1.5; overflow-wrap: anywhere; }
img { display: block; max-width: 100%; height: auto; }
[hidden] { display: none !important; }
a:focus-visible, button:focus-visible, summary:focus-visible {
    outline: 3px solid var(--wp-accent); outline-offset: 4px;
}
main, .site-header__inner, .site-footer__inner {
    width: min(100% - 48px, 1200px); margin-inline: auto;
}
main { padding-block: 32px; min-height: 50vh; }
main > * { margin-block: 0 24px; }
.site-header { border-bottom: 1px solid var(--wp-border); }
.site-header__inner { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; padding-block: 24px; }
.site-header .global-section__media img { max-width: 180px; max-height: 80px; object-fit: contain; }
.site-header nav { flex: 1; }
.site-header nav ul { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.site-header nav ul, .site-footer nav ul { list-style: none; padding: 0; margin: 0; }
.site-header__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-left: auto; }
.section-action > a, .button > a, .banner__controls button {
    display: inline-flex; align-items: center; justify-content: center; min-height: 44px;
    padding: 10px 20px; border: 1px solid var(--wp-accent); border-radius: 6px;
    background: var(--wp-accent); color: var(--wp-button-text); text-decoration: none;
    font: inherit; cursor: pointer;
}
.section-action--secondary > a { background: transparent; color: var(--wp-link); }
.site-header--compact .site-header__inner { gap: 16px; padding-block: 12px; }
.site-header--compact .global-section__media img { max-width: 140px; max-height: 48px; }
.site-footer { border-top: 1px solid var(--wp-border); }
.site-footer__inner { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 32px; padding-block: 48px; }
.site-footer__identity { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.site-footer .global-section__media img { max-width: 180px; max-height: 80px; object-fit: contain; }
.site-footer__additional-media img { max-width: 64px; max-height: 48px; object-fit: contain; }
.site-footer__contacts { font-style: normal; }
.site-footer__contacts p { margin: 0 0 12px; }
.site-footer__contact-label { display: block; color: var(--wp-muted-text); }
.site-footer__column h2 { margin: 0 0 16px; font-size: 1rem; }
.site-footer nav li { margin-bottom: 8px; }
.site-footer--compact .site-footer__inner { gap: 20px; padding-block: 24px; }
.site-footer--compact .site-footer__identity { gap: 8px; }
.text-underline { text-decoration: underline; }
.image { padding: 16px; }
.image--left img { margin-right: auto; }
.image--center img { margin-inline: auto; }
.image--right img { margin-left: auto; }
figcaption { margin-top: 8px; }
blockquote { padding: 16px 24px; border-left: 4px solid var(--wp-border); }
table { width: 100%; border-collapse: collapse; }
th, td { border: 1px solid var(--wp-border); padding: 12px; text-align: left; overflow-wrap: anywhere; }
.spacer { height: 32px; background: transparent; }
.banner__controls { display: flex; gap: 8px; justify-content: flex-end; padding: 8px; }
.banner__controls button { min-width: 44px; padding: 8px; }
.banner__slide img { width: 100%; }
details { border: 1px solid var(--wp-border); padding: 16px; }
summary { cursor: pointer; }
@media (max-width: 640px) {
    main, .site-header__inner, .site-footer__inner { width: calc(100% - 32px); }
    .site-header__inner { gap: 16px; }
    .site-header nav { flex-basis: 100%; }
    .site-header__actions { margin-left: 0; }
    .site-footer__inner { grid-template-columns: 1fr; }
}