/* Gutenberg class names must not eat BEM padding / margin / gutters from styles.css and pages.css */

.wp-site-blocks,
.wp-block-post-content,
.wp-block-template-part,
.wp-block-image,
.wp-block-buttons,
.wp-block-button,
.wp-block-list,
.wp-block-gallery,
.wp-block-shortcode,
.wp-block-html {
  max-width: none;
}

.wp-block-template-part,
.wp-block-post-content {
  display: contents;
}

.wp-site-blocks {
  padding: 0;
  margin: 0;
}

body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* WP layout gap only — never padding, never !important on BEM boxes */
.wp-site-blocks > * {
  margin-block-start: 0;
  margin-block-end: 0;
}

.wp-block-group,
.wp-block-columns,
.wp-block-column {
  box-sizing: border-box;
  max-width: none;
}

.wp-block-group.has-background {
  background-color: transparent;
}

/* Force BEM layout even if WP adds is-layout-flow */
.feature__inner,
.feature__inner.wp-block-group,
.feature__inner.is-layout-flow {
  display: grid !important;
}

.feature__card,
.feature__card.wp-block-group,
.feature__card.is-layout-flow {
  display: flex !important;
  flex-direction: column !important;
}

.feature__card > .wp-block-buttons,
.feature__card > .wp-block-html {
  margin-top: auto;
  display: contents;
}

.feature__media > .wp-block-image,
.founder__photo > .wp-block-image,
.quality-intro__photo > .wp-block-image {
  display: contents;
}

figure.wp-block-image {
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
}

.wp-block-image img {
  width: 100%;
  display: block;
}

.acc--prod .acc-item__panel .wp-block-image,
.acc--prod .acc-item__panel .wp-block-html {
  margin: 12px 0 0;
}

.acc--prod .acc-item__panel .wp-block-image img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.feature__media img,
.founder__photo img,
.quality-intro__photo img,
.principle-photo img,
.bonus-cabinet__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.founder__quotes.wp-block-image,
figure.founder__quotes {
  width: 64px;
  height: 57px;
  display: block;
  margin-bottom: 36px;
}

.founder__quotes img {
  width: 100%;
  height: 100%;
  display: block;
}

.founder__inner,
.founder__inner.wp-block-group,
.founder__inner.is-layout-flow {
  display: grid !important;
}

.principles__list,
.principles__list.wp-block-group,
.principles__list.is-layout-flow {
  display: flex !important;
  flex-direction: column !important;
}

.quality-intro__grid,
.quality-intro__grid.wp-block-group,
.coop-intro__grid,
.coop-intro__grid.wp-block-group,
.bonus-cards__grid,
.bonus-cards__grid.wp-block-group {
  display: grid !important;
}

.bonus-join .bonus-inner,
.bonus-join .bonus-inner.wp-block-group {
  display: flex !important;
  flex-direction: column !important;
}

.bonus-join .wp-block-buttons {
  display: contents;
}

figure.bonus-join__photo,
.bonus-join__photo.wp-block-image {
  margin: 0;
}

.bonus-join__photo img,
figure.wp-block-image.bonus-join__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.wp-block-button.btn {
  display: inline-flex;
}

.wp-block-button.btn .wp-block-button__link,
.wp-block-button.btn .wp-element-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: transparent !important;
  color: inherit !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  border-radius: inherit;
  font: inherit;
}

.wp-block-buttons {
  display: block;
  gap: 0;
}

.wp-block-heading {
  font-weight: inherit;
}

.tag.wp-block-paragraph,
p.tag {
  margin: 0;
}

body:not(.woocommerce):not(.woocommerce-page) .woocommerce-store-notice,
body:not(.woocommerce):not(.woocommerce-page) .woocommerce-message {
  display: none !important;
}

.skip-link {
  display: none !important;
}

.wp-block-button.bonus-btn {
  display: flex;
}

.wp-block-button.bonus-btn .wp-block-button__link {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent !important;
  color: inherit !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.partner-cell .wp-block-image {
  margin: 0;
  width: auto;
}

.gallery__slide .wp-block-image,
.gallery__slide .wp-block-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero__slide a {
  display: block;
  width: 100%;
  height: 100%;
}

.hero__slide a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.woocommerce-notices-wrapper,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-store-notice,
.demo_store {
  display: none !important;
}

.woocommerce ul.products,
ul.products {
  list-style: none;
  margin: 0;
  padding: 0;
}

.prod__opt-select {
  margin-top: 4px;
}

.prod__descr ul,
.prod__descr ol {
  margin: 0 0 1em;
  padding-left: 1.2em;
}

.prod__descr li {
  margin: 0 0 0.3em;
}
