form {
  margin-bottom: 0 !important;
}

label,
.forminator-label {
  font-size: var(--font-size-10) !important;
  line-height: var(--line-height-10) !important;
  font-weight: var(--font-weight-300) !important;
  margin-bottom: 4px !important;
  box-shadow: none !important;
}
input,
select,
textarea,
.forminator-input,
.forminator-textarea,
.select2-selection {
  font-size: var(--font-size-13) !important;
  line-height: var(--line-height-13) !important;
  font-weight: var(--font-weight-300) !important;
  color: var(--black) !important;
  border: solid 1px var(--black--03) !important;
  background: var(--white) !important;
  border-radius: var(--b--xsm) !important;
  outline: 0 !important;
  padding: 16px !important;
  box-shadow: none !important;
}

.select2-container .select2-selection--single .select2-selection__rendered {
  padding-left: 0px !important;
  padding-right: 0px !important;
  color: var(--black) !important;
  line-height: normal !important;
}

.select2-container .select2-selection--single {
  height: 100% !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 49px !important;
  position: absolute;
  top: 1px;
  right: 5px !important;
  width: 20px;
}

textarea,
.forminator-textarea {
  min-height: 120px;
  resize: vertical;
  max-height: 120px;
}

/* .password-input {
  position: relative;
} */

/* placeholder (jak w Figmie) */
input::placeholder,
textarea::placeholder,
.forminator-input::placeholder,
.forminator-textarea::placeholder {
  color: var(--black--06) !important;
}

/* focus – zostawiam dyskretnie; jak ma nie być nic, usuń tę sekcję */
input:focus,
select:focus,
textarea:focus,
.forminator-input:focus,
.forminator-textarea:focus {
  border-color: var(--black--04) !important;
}

/* błędy – łapiemy: HTML5 + Woo + Forminator */
input:invalid,
select:invalid,
textarea:invalid {
  border-color: var(--error--01);
}
.woocommerce-invalid input,
.woocommerce-invalid select,
.woocommerce-invalid textarea {
  border-color: var(--error--01);
}
.forminator-has_error .forminator-input,
.forminator-has_error .forminator-textarea {
  border-color: var(--error--01);
}

.forminator-error-message,
.forminator-field-error,
.woocommerce-error li,
.woocommerce-invalid .woocommerce-input-wrapper .description {
  color: var(--error--01);
  margin-top: 8px;
}

/* === Checkbox / radio (spójnie) === */

/* wszystkie radio metod wysyłki */
.woocommerce-checkout input.shipping_method[type="radio"] {
  accent-color: var(--black--03); /* “pusty” (niezaznaczony) */
}

/* zaznaczony */
.woocommerce-checkout input.shipping_method[type="radio"]:checked {
  accent-color: var(--main--03); /* “włączony” */
}
/* Forminator checkbox box (bo on ma własny markup) */
.forminator-checkbox-box {
  width: 16px;
  height: 16px;
  border-radius: 4px;
  border: 0.8px solid var(--black--06);
  background: var(--white);
}
.forminator-consent__label a,
.forminator-checkbox__label a {
  color: var(--error--01);
  text-decoration: underline;
}

.forminator-ui.forminator-custom-form[data-design="default"] .forminator-checkbox .forminator-checkbox-box {
  width: 14px !important;
  height: 14px !important;
  flex: 0 0 14px !important;
}

.forminator-ui.forminator-custom-form[data-design="default"] .forminator-checkbox .forminator-checkbox-box:before {
  color: black !important;
  font-size: 10px !important;
}

.forminator-row {
  margin-bottom: 24px !important;
  margin-right: 0px !important;
  margin-left: 0px !important;
  gap: 16px !important;
}

.forminator-col {
  padding: 0 !important;
}

.checkout-inline-error-message {
  font-size: var(--font-size-13);
  line-height: var(--line-height-13);
  font-weight: var(--font-weight-300);
  color: var(--error--01);
  margin-top: 4px !important;
}

.form-row label {
  display: inline-block !important;
  margin-top: 16px !important;
}

/* .form-row-wide {
  margin-top: 8px !important;
} */

.wc-block-components-quantity-selector__input {
  padding: 6px 0 !important;
}

.wc-block-components-quantity-selector {
  width: auto !important;
  border: solid 0 !important;
  margin-bottom: 0 !important;
}

.wc-block-cart-item__wrap {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.wc-block-components-product-metadata {
  height: -webkit-fill-available;
}

.wc-block-components-sale-badge {
  display: none !important;
}

.cs-checkout-login-switch {
  padding: 24px 12px !important;
  border-radius: var(--b--xsm);
  border: solid 1px var(--black--03);
  display: flex;
  align-items: center;
  gap: 12px;
  border-color: var(--main--stroke--light);
  background: var(--main--bg--light) !important;
  width: fit-content;
  font-family: var(--font-family-body-basic);
  font-size: var(--font-size-13);
  line-height: var(--line-height-13);
  font-weight: var(--font-weight-300);
  margin-bottom: 24px !important;
}

.cs-checkout-login-switch a {
  text-decoration: none !important;
  font-weight: var(--font-weight-500);
  color: var(--main--03);
}

.woocommerce-account-fields {
  display: none !important;
}

.cs-inline-error {
  color: var(--error--01);
  font-size: var(--font-size-13) !important;
  line-height: var(--line-height-13) !important;
  font-weight: var(--font-weight-300) !important;
  margin-top: 4px !important;
}
.cs-field-invalid {
  border-color: #b00020 !important;
}

.cs-inline-error {
  font-size: 14px;
  line-height: 1.3;
}

.woocommerce-ResetPassword {
  font-size: var(--font-size-13) !important;
  line-height: var(--line-height-13) !important;
  font-weight: var(--font-weight-300) !important;
}

button[value="Zresetuj hasło"],
button[value="Zapisz"] {
  margin-top: 16px !important;
}

/* Accordion */
/* Accordion base */
.cs-acc {
  display: grid;
  gap: 12px;
  max-width: 1080px;
}

.cs-acc__item {
  border-radius: var(--b--xsm);
  background: var(--bg--fafafa);
  border: solid 1px var(--black--02);
}

.cs-acc__btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 16px;
  background: transparent;
  border: 0;
  text-align: left;
  cursor: pointer;
}

.cs-acc__q {
  font-family: var(--font-family-body-basic) !important;
  font-size: var(--font-size-16) !important;
  line-height: var(--line-height-16) !important;
  font-weight: var(--font-weight-400) !important;
  color: var(--black) !important;
  text-decoration: none !important;
}

.cs-acc__a {
  font-family: var(--font-family-body-basic) !important;
  font-size: var(--font-size-13) !important;
  line-height: var(--line-height-13) !important;
  font-weight: var(--font-weight-300) !important;
  color: var(--black) !important;
  text-decoration: none !important;
}

.cs-acc__icon {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}

.cs-acc__panel {
  padding: 0 16px 16px;
}

/* open state hook */
.cs-acc__item.is-open {
  border: solid 1px var(--main--stroke--light);
  background: var(--main--bg--light);
}

.cs-faq {
  padding-top: 64px;
  padding-bottom: 16px;
}

.cs-acc__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cs-acc__icon svg {
  display: block;
}

.cs-acc__item.is-open .cs-acc__icon-v {
  opacity: 0;
  transform: scaleY(0);
}

li#tab-title-description.description_tab.active::after {
  display: none !important;
}

.woocommerce-message {
  padding: 16px !important;
  border-radius: var(--b--xsm);
  border: solid 1px var(--black--03);
  align-items: center;
  gap: 12px;
  border-color: var(--main--stroke--light);
  background: var(--main--bg--light) !important;
  font-family: var(--font-family-body-basic);
  font-size: var(--font-size-13);
  line-height: var(--line-height-13);
  font-weight: var(--font-weight-300);
  margin-bottom: 24px !important;
  width: 100%;
  display: flex;
  justify-content: space-between;
}

select {
  padding-right: 56px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16' fill='none'><path d='M4 6L8 10L12 6' stroke='%23020A0A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 12px !important;
}
