:root {
  --kervexa-container-wide: 1280px;
  --kervexa-container-default: 1160px;
  --kervexa-container-narrow: 820px;
  --kervexa-page-gutter: 32px;
  --kervexa-section-space: 96px;
}

.kervexa-container,
.kervexa-container--wide,
.kervexa-container--narrow {
  margin-inline: auto;
}

.kervexa-container {
  width: min(calc(100% - (var(--kervexa-page-gutter) * 2)), var(--kervexa-container-default));
}

.kervexa-container--wide {
  width: min(calc(100% - (var(--kervexa-page-gutter) * 2)), var(--kervexa-container-wide));
}

.kervexa-container--narrow {
  width: min(calc(100% - (var(--kervexa-page-gutter) * 2)), var(--kervexa-container-narrow));
}

.kervexa-section {
  width: 100%;
  padding-block: var(--kervexa-section-space);
}

body .ct-container,
body .ct-container-narrow,
body [data-header] .ct-container,
body [data-footer] .ct-container {
  width: min(calc(100% - (var(--kervexa-page-gutter) * 2)), var(--kervexa-container-wide));
  max-width: var(--kervexa-container-wide);
  margin-inline: auto;
}

body .ct-container-full {
  width: 100%;
  max-width: none;
}

body .entry-content > .kx,
body .entry-content .kx {
  width: 100%;
  max-width: none;
  overflow-x: clip;
}

body .kx .kx-section {
  width: 100%;
  padding-block: var(--kervexa-section-space) !important;
}

body .kx .kx-section-sm {
  padding-block: calc(var(--kervexa-section-space) * .64) !important;
}

body .kx .kx-container {
  width: min(calc(100% - (var(--kervexa-page-gutter) * 2)), var(--kervexa-container-default)) !important;
  max-width: var(--kervexa-container-default) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-inline: auto !important;
}

body .kx .kx-wide-container,
body .kx .kxgf-container,
body .kx .kervexa-container--wide,
body.home .kx .kx-hero .kx-container,
body.home .kx .kx-hero-section .kx-container,
body.home .kx .kx-hero-grid,
body.home .kx .kx-product-showcase,
body .kx .kx-gallery,
body .kx .kx-comparison,
body .kx .kx-table-wrap {
  width: min(calc(100% - (var(--kervexa-page-gutter) * 2)), var(--kervexa-container-wide)) !important;
  max-width: var(--kervexa-container-wide) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body .kx .kx-reading,
body .kx .kx-faq,
body .kx .kx-legal,
body .kx .kx-intro,
body.page-id-14 .kx .kx-container,
body.page-id-15 .kx .kx-container,
body.page-id-16 .kx .kx-container,
body.page-id-17 .kx .kx-container,
body.page-id-19 .kx .kx-container,
body.page-id-20 .kx .kx-container,
body.page-id-21 .kx .kx-container,
body.page-id-22 .kx .kx-container,
body.page-id-23 .kx .kx-container {
  width: min(calc(100% - (var(--kervexa-page-gutter) * 2)), var(--kervexa-container-narrow)) !important;
  max-width: var(--kervexa-container-narrow) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.home .kx .kx-hero-copy,
body.home .kx .kx-hero-text,
body.home .kx .kx-hero-content {
  max-width: 620px !important;
}

body .kx .kx-actions,
body .kx .wp-block-buttons,
body .woocommerce .wc-proceed-to-checkout,
body .woocommerce .form-row {
  max-width: 100%;
}

body .kx .kx-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: none !important;
}

body .kx .kx-btn,
body .kx .wp-block-button__link,
body .woocommerce a.button,
body .woocommerce button.button,
body .woocommerce input.button,
body .woocommerce #respond input#submit {
  max-width: 320px;
  margin-left: 0;
  margin-right: 0;
  transform: none;
}

body .woocommerce-cart .entry-content,
body .woocommerce-checkout .entry-content,
body.woocommerce-account .entry-content {
  width: min(calc(100% - (var(--kervexa-page-gutter) * 2)), 1160px);
  max-width: 1160px;
  margin-inline: auto;
}

body .woocommerce-cart .woocommerce,
body .woocommerce-checkout .woocommerce,
body.woocommerce-account .woocommerce {
  width: 100%;
  max-width: 1160px;
  margin-inline: auto;
}

body .woocommerce table.shop_table,
body .woocommerce form.checkout,
body .woocommerce .woocommerce-MyAccount-content,
body .woocommerce .woocommerce-MyAccount-navigation {
  max-width: 100%;
}

body .woocommerce .checkout_coupon,
body .woocommerce form.login,
body .woocommerce form.register,
body .woocommerce form.lost_reset_password {
  max-width: 760px;
}

body .woocommerce .wc-proceed-to-checkout a.checkout-button {
  width: auto;
  min-width: 220px;
}

body .woocommerce-checkout table.shop_table,
body .woocommerce-cart table.shop_table {
  table-layout: fixed;
}

body .woocommerce-checkout table.shop_table th,
body .woocommerce-checkout table.shop_table td,
body .woocommerce-cart table.shop_table th,
body .woocommerce-cart table.shop_table td {
  padding: 16px 18px;
  vertical-align: middle;
}

body .woocommerce-checkout-review-order-table .product-name,
body .woocommerce-checkout-review-order-table .product-total,
body .woocommerce-cart .shop_table .product-name {
  overflow-wrap: anywhere;
}

body .woocommerce ul#shipping_method {
  margin: 0;
  padding: 0;
}

body .woocommerce ul#shipping_method li {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 28px;
  margin: 0 0 8px;
  padding: 0;
  line-height: 1.35;
  text-indent: 0;
}

body .woocommerce ul#shipping_method li:last-child {
  margin-bottom: 0;
}

body .woocommerce ul#shipping_method input[type="radio"] {
  width: 16px;
  height: 16px;
  min-width: 16px;
  margin: 0;
  flex: 0 0 16px;
  accent-color: #2563eb;
}

body .woocommerce ul#shipping_method label {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px;
  margin: 0;
  min-width: 0;
}

body .woocommerce-checkout #order_review,
body .woocommerce-checkout #order_review_heading {
  min-width: 0;
}

body .site-main,
body .entry-content,
body .kx,
body .woocommerce {
  overflow-x: clip;
}

@media (max-width: 1024px) {
  :root {
    --kervexa-page-gutter: 24px;
    --kervexa-section-space: 72px;
  }
}

@media (max-width: 640px) {
  :root {
    --kervexa-page-gutter: 18px;
    --kervexa-section-space: 56px;
  }

  body .kx .kx-actions {
    flex-direction: column;
    gap: 10px;
  }

  body .kx .kx-btn,
  body .kx .wp-block-button__link,
  body .woocommerce a.button,
  body .woocommerce button.button,
  body .woocommerce input.button,
  body .woocommerce #respond input#submit,
  body .woocommerce .wc-proceed-to-checkout a.checkout-button {
    width: 100%;
    max-width: 100%;
  }

  body .woocommerce-checkout table.shop_table th,
  body .woocommerce-checkout table.shop_table td,
  body .woocommerce-cart table.shop_table th,
  body .woocommerce-cart table.shop_table td {
    padding: 13px 12px;
  }
}
