/* Responsive corrections and the quote form only; designer stylesheet is untouched. */
.grid.cols-2 { grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); }
.grid.cols-4 { grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); }
.trust { grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); }
nav ul a.btn-primary { color: #fff; }
@media (max-width: 640px) {
  nav .wrap { height: auto; min-height: 64px; flex-wrap: wrap; gap: 12px; padding-top: 12px; padding-bottom: 12px; }
  nav ul { gap: 12px; flex-wrap: wrap; }
  nav ul a { font-size: 0.85rem; }
  nav .btn-sm { padding: 8px 10px; }
  table.price th, table.price td { padding: 8px 6px; overflow-wrap: anywhere; }
}
main .forminator-ui.forminator-custom-form { font: inherit; color: var(--body); }
main .forminator-ui .forminator-row { display: flex; flex-wrap: wrap; gap: 18px; margin-bottom: 18px; }
main .forminator-ui .forminator-col { flex: 1; min-width: 0; }
main .forminator-ui .forminator-label { display: block; font-size: 0.95rem; font-weight: 600; color: var(--ink); margin-bottom: 6px; }
main .forminator-ui input, main .forminator-ui select, main .forminator-ui textarea {
  width: 100%; padding: 12px 14px; border: 1px solid var(--border); border-radius: 8px;
  font: inherit; color: var(--ink); background: #fff;
}
main .forminator-ui input:focus, main .forminator-ui select:focus, main .forminator-ui textarea:focus { outline: 2px solid var(--accent); border-color: var(--accent); }
main .forminator-ui .forminator-button { padding: 14px 28px; border: none; border-radius: 8px; font: inherit; font-weight: 700; cursor: pointer; background: var(--accent); color: #fff; }
main .forminator-ui .forminator-button:hover { background: var(--accent-dark); }
main .forminator-ui .forminator-error-message { color: #a12020; display: block; }
main .forminator-ui .forminator-response-message { margin-bottom: 18px; }
@media (max-width: 640px) { main .forminator-ui .forminator-row { display: block; } main .forminator-ui .forminator-col { margin-bottom: 18px; } }

/* WooCommerce: native layout sheets remain enabled; these overrides load last. */
.layerpost-shop { padding: 72px 0; }
.layerpost-shop section { padding: 0; margin-block: 24px; }
.layerpost-shop .wrap > *, .layerpost-shop :where(form, fieldset, .summary, .woocommerce-MyAccount-content) { min-width: 0; }
.layerpost-shop { overflow-wrap: anywhere; }
.layerpost-shop img { max-width: 100%; height: auto; }
.layerpost-shop .woocommerce-products-header { margin-bottom: 32px; }
.layerpost-shop .woocommerce-products-header p { margin-top: 16px; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
  float: none; width: auto; min-width: 0; margin: 0; padding: 28px;
  background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius);
}
.woocommerce ul.products li.product a { text-decoration: none; }
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--body); }
.woocommerce ul.products li.product .button { margin-top: 16px; }
.layerpost-shop :is(a.button, button.button, input.button, #respond input#submit),
.layerpost-shop :is(.wc-block-components-button, .wp-block-button__link) {
  display: inline-flex; justify-content: center; align-items: center; text-align: center;
  max-width: 100%; white-space: normal; padding: 14px 28px; border: 0; border-radius: 8px;
  font: inherit; font-size: 1rem; font-weight: 700; line-height: 1.4;
  background: var(--accent); color: var(--bg); text-decoration: none; cursor: pointer;
}
.layerpost-shop :is(a.button, button.button, input.button, #respond input#submit, .wc-block-components-button, .wp-block-button__link):hover {
  background: var(--accent-dark); color: var(--bg);
}
.layerpost-shop :is(button, input, a, select, textarea):focus-visible {
  outline: 2px solid var(--accent); outline-offset: 3px;
}
.layerpost-shop :is(button, input, a.button):is(:disabled, [disabled], [aria-disabled="true"], .disabled),
.layerpost-shop .woocommerce a.button.disabled:hover,
.layerpost-shop .woocommerce button.button:disabled:hover {
  opacity: .65; cursor: not-allowed; color: var(--bg); background: var(--accent-dark);
}
.layerpost-shop :is(input, select, textarea) { max-width: 100%; min-width: 0; }
.layerpost-shop input:is([type="checkbox"], [type="radio"]) {
  width: 1.1em; height: 1.1em; padding: 0; margin: 0 .4em 0 0;
  flex: 0 0 auto; vertical-align: middle; accent-color: var(--accent);
}
.layerpost-shop label:has(> input:is([type="checkbox"], [type="radio"])) { display: inline-block; }
.woocommerce .quantity .qty { width: 5em; padding: 12px 8px; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.woocommerce div.product form.cart.variations_form { display: block; }
.woocommerce div.product form.cart .variations select { width: 100%; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding-left: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0 4px 4px 0; border-color: var(--border); background: var(--bg-soft); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--body); }
.woocommerce span.onsale { background: var(--accent); color: var(--bg); }
.layerpost-shop :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner) {
  background: var(--bg-soft); color: var(--ink); border-color: var(--accent); border-radius: 8px;
}
.layerpost-shop :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before { color: var(--accent); }
.layerpost-shop :is(.woocommerce-error, .wc-block-components-validation-error) { color: var(--ink); font-weight: 600; }
.layerpost-shop :is(.woocommerce-error, .wc-block-components-notice-banner) a { color: var(--accent-dark); text-decoration: underline; }
.layerpost-shop .woocommerce-invalid :is(input, select),
.layerpost-shop [aria-invalid="true"] { border: 2px solid var(--ink); }
.layerpost-shop table.shop_table { width: 100%; border-color: var(--border); border-radius: var(--radius); }
.layerpost-shop table.shop_table :is(th, td) { padding: 12px; border-color: var(--border); }
.layerpost-shop table.shop_table th { color: var(--ink); background: var(--bg-soft); }
.layerpost-shop #payment { background: var(--bg-soft); border-radius: var(--radius); }
.layerpost-shop #payment div.payment_box { background: var(--bg); color: var(--body); }
.layerpost-shop #payment div.payment_box::before { border-bottom-color: var(--bg); }
.layerpost-shop #payment .payment_methods label { display: inline; }
/* Neutralise the site's sticky, horizontal nav inside Woo content. */
.layerpost-shop nav { position: static; top: auto; z-index: auto; backdrop-filter: none; background: none; border: 0; }
.layerpost-shop nav.woocommerce-MyAccount-navigation ul { display: block; margin: 0 0 24px; border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.layerpost-shop nav.woocommerce-MyAccount-navigation li + li { border-top: 1px solid var(--border); }
.layerpost-shop nav.woocommerce-MyAccount-navigation a { display: block; padding: 12px 16px; }
.layerpost-shop nav.woocommerce-MyAccount-navigation .is-active a { background: var(--bg-soft); color: var(--accent-dark); font-weight: 700; }
.layerpost-shop .woocommerce-MyAccount-content p { margin-bottom: 16px; }
.layerpost-shop .woocommerce-Addresses .woocommerce-Address { margin-bottom: 24px; }
.layerpost-shop .woocommerce-Addresses .edit { position: static; }
/* Blocks have floating labels and fixed-size controls. Do not apply form padding to them. */
.layerpost-shop :is(.wc-block-cart, .wc-block-checkout) { color: var(--body); max-width: 100%; }
.layerpost-shop .wc-block-components-text-input input { padding: 1.5em .5em .5em; font: inherit; background: var(--bg); color: var(--ink); border-color: var(--border); }
.layerpost-shop .wc-block-components-text-input label { font-weight: 400; }
.layerpost-shop .wc-block-components-combobox .components-combobox-control__input { padding: 1.5em .5em .5em; }
.layerpost-shop .wc-block-components-quantity-selector { flex-shrink: 0; border-color: var(--border); }
.layerpost-shop .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input { width: 40px; min-width: 0; padding: 0; border: 0; border-radius: 0; background: none; }
.layerpost-shop .wc-block-components-checkbox .wc-block-components-checkbox__input { width: 1.5em; height: 1.5em; margin: 0; padding: 0; }
.layerpost-shop .wc-block-components-radio-control .wc-block-components-radio-control__input { width: 1.5em; height: 1.5em; margin: 0; padding: 0; }
.layerpost-shop .wc-block-components-radio-control__option { font-weight: 400; }
.layerpost-shop .wc-block-components-product-price { color: var(--body); }
.layerpost-shop :is(.wc-block-components-sidebar, .wc-block-components-main) { min-width: 0; }
@media (max-width: 768px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .layerpost-shop { padding: 40px 0; }
  .layerpost-shop .woocommerce-result-count, .layerpost-shop .woocommerce-ordering { float: none; width: 100%; }
  .layerpost-shop .woocommerce-ordering select { width: 100%; padding: 12px; }
  .layerpost-shop .col2-set .col-1, .layerpost-shop .col2-set .col-2,
  .layerpost-shop .woocommerce-MyAccount-navigation, .layerpost-shop .woocommerce-MyAccount-content { float: none; width: 100%; }
  .layerpost-shop .woocommerce form .form-row { float: none; width: 100%; }
  .layerpost-shop table.shop_table { table-layout: fixed; }
  .layerpost-shop table.shop_table :is(th, td) { padding: 10px 6px; overflow-wrap: anywhere; }
  .layerpost-shop table.shop_table_responsive tr td::before { max-width: 45%; text-align: left; }
  .layerpost-shop table.cart td.actions .coupon { display: flex; flex-wrap: wrap; gap: 8px; }
  .layerpost-shop table.cart td.actions .coupon :is(input.input-text, .button) { float: none; width: 100%; margin: 0; }
  .layerpost-shop .wc-block-components-sidebar-layout { flex-direction: column; }
  .layerpost-shop .wc-block-components-sidebar-layout > :is(.wc-block-components-main, .wc-block-components-sidebar) { width: 100%; padding: 0; margin: 0 0 24px; }
}
@media (max-width: 480px) {
  .woocommerce ul.products { grid-template-columns: minmax(0, 1fr); }
  .layerpost-shop .woocommerce-tabs ul.tabs li { display: block; }
  .layerpost-shop .woocommerce-tabs ul.tabs li::before, .layerpost-shop .woocommerce-tabs ul.tabs li::after { display: none; }
  .layerpost-shop .woocommerce-message .button { float: none; display: flex; margin-bottom: 12px; }
}
