

/**

Fluid checkout styles

**/

/**
  * Checkoutin yleiset tyylit, välistykset
  */

@media (min-width: 750px) {
  body:has(#checkout-page) .fc-checkout-header .fc-checkout__branding img {
    max-width: 244px;
  }
}
body:has(#checkout-page) .fc-checkout-header {
  background: transparent;
  border: 0;
  box-shadow: unset;
}
body:has(#checkout-page) .fc-checkout-header .fc-checkout-header__inner {
  padding-top: 24px;
  padding-bottom: 24px;
}
body:has(#checkout-page) .fc-content,
body:has(#checkout-page) .fc-inside {
  padding-top: 0;
}
.woocommerce-notices-wrapper:empty,
.fc-checkout-notices:has(.woocommerce-notices-wrapper:empty) { 
  display: none;
}
.fc-checkout-header .fc-checkout__branding img,
.body:has(#checkout-page) .custom-logo {
    width: 100%;
    max-width: 244px;
}
body:has(#checkout-page) {
    background: #F9F9F9;
}
#checkout-page a {
  color: #1F1F1F;
  text-decoration: underline;
  font-size: var(--space-small);
}

#checkout-page {
  --text-small: 0.875rem;    /* 14px */
  --text-regular: 1rem;      /* 16px */
  --text-medium: 1.25rem;    /* 20px */
  --space-small: 0.875rem;
  --bde-woo-forms__labels-color: #282828;
  --bde-woo-forms__labels-required-color: #AB200E;
}

/* Yleisin margin bottom on 1.5rem eli 24px */

#checkout-page ul.shipping-method__options,
#checkout-page h3#carrier-agent-heading {
  margin-top: 0;
}

#checkout-page h3.fc-step__substep-title,
#checkout-page ul.shipping-method__options,
#checkout-page h3#carrier-agent-heading  {
  margin-top: 0;
  margin-bottom: 16px;
}
/**
  * Checkout containerit
  */

#checkout-page .fc-inside {
  background: transparent;
}
@media(min-width: 1000px) {
  #checkout-page .fc-inside {
    background: transparent;
    width: calc(63.5% - 8px);
  }
  #checkout-page .fc-sidebar {
    width: 36.5% !important;
  }
}

#checkout-page .fc-checkout-steps {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  background: #FFFFFF;
  width: 100%;
  border-radius: 8px;
}
#checkout-page .fc-contact-login:empty {
  display: none;
  margin: 0;
  padding: 0;
  visibility: hidden;
}

#checkout-page .fc-sidebar {
  padding: 0;
}

#checkout-page .fc-step__substep[data-substep-id="shipping_address"] {
  margin-bottom: 2.25rem;
}

#checkout-page .fc-step__substep[data-substep-id="shipping_method"],
#checkout-page .fc-step__substep[data-substep-id="billing_address"],
#checkout-page .fc-step__substep[data-substep-id="payment"] {
  margin-bottom: 40px;
}

#checkout-page #woocommerce-billing-fields__field-wrapper .collapsible-content__inner {
  display: flex;
  width: 100%;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  row-gap: 8px;
  row-gap: 0;
}

/**
  * Kassan typografia
  */

#checkout-page h3.fc-step__substep-title {
  color: #282828;
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: 100%;
  text-transform: unset;
}

/**
  * Kassan inputit
  */

#checkout-page .woocommerce-shipping-fields__field-wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  row-gap: 0;
  column-gap: 8px;
}
/*.form-row address-field has-description fc-text-field validate-required form-row-wide*/
#checkout-page .form-row-first,
#checkout-page .form-row-last {
  width: calc(50% - ((8px * 1) / 2));
}
#checkout-page #shipping_phone_field,
#checkout-page .form-row-wide {
  width: 100%;
}
#checkout-page .form-row.fc-email-field,
#checkout-page .form-row.fc-text-field,
#checkout-page .form-row.fc-tel-field,
#checkout-page .form-row.address-field  {
  margin-top: 0;
  display: block;
  margin-bottom: 12px;
}
#checkout-page .form-row label,
form.woocommerce-form-login .form-row label{
  margin-bottom: 8px;
  display: block;
}
#checkout-page .form-row label,
form.woocommerce-form-login .form-row label {
  color: #6D6D6D;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
}
#checkout-page .form-row span.description,
#checkout-page .fc-account-creation-notice {
  color: #6D6D6D;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  margin-top: 8px;
  display: block;
  margin-bottom: 20px;
}
#checkout-page .fc-account-creation-notice {
  margin-top: .5rem;
}

#checkout-page label.checkbox {
  display: flex;
  flex-direction: row;
  align-items: center;
}
#checkout-page label.checkbox .fc-checkbox-label-text,
#checkout-page label.checkbox .fc-checkbox-label-text span.optional {
  color: #262626;
  font-size: var(--text-regular);
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

#checkout-page input[type="checkbox"]:checked::after {
  content: "✓";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 16px;          /* size of the checkmark */
  color: white;             /* checkmark color */
  line-height: 1;
}

#checkout-page .form-row .fc-inline-error {
  position: absolute;
  right: 0;
  bottom: -1.5rem;
  color: var(--bde-woo-forms__labels-required-color);
  font-size: var(--text-small);
}
#checkout-page .form-row-wide .fc-inline-error {
  bottom: 0;
}
#checkout-page input[aria-invalid="true"] {
  background: #FFF3F3;
  border-color: #FFA9A9;
}
/**
  * Kassan kirjautuminen
  */

.fc-contact-login {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  justify-content: center;
}
.fc-contact-login__content {
  background: #FAFAFA;
  width: 100%;
  padding: 1rem;
  border-radius: 4px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  color: #282828;
}
.fc-contact-login__separator {
  width: 100%;
  text-align: center;
}
#checkout-page .fc-contact-login__cta-text,
#checkout-page .fc-contact-login__cta-text a.fc-contact-login__action {
  color: #282828;
  font-size: var(--text-regular);
  font-weight: 500;
  font-style: normal;
  line-height: 100%;
}
.fc-login-form.is-open {
  position: fixed;
  background: rgba(0,0,0,0.5);
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 20px;
  box-sizing: border-box;
}
input[type="tel"]::placeholder,
input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="password"]::placeholder {
  color: #787e8b;
}
input[type="tel"],
input[type="text"],
input[type="email"],
 input[type="password"] {
  width: 100%;
  height: 44px;
  background: #F2F2F2 !important;
  color: #1F1F1F;
  font-size: 1rem;
  border: 1px solid #E6E6E6;
  border-radius: 2px;
  padding: 10px 18px;
  box-sizing: border-box !important;
  transition: all ease 300ms;
  outline: 0;
}
input[type="tel"]:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus {
  border-color: #EAEAEA;
  background-color: #FAFAFA;
  box-shadow: unset;
}
input[type="text"]#coupon_code {
  background: #FFF !important;
  border-radius: 2px;
}
button.fc-coupon-code__apply {
  background: transparent !important;
  border: 0 !important;
  color: #000;
  font-size: 14px;
}
select {
  width: 100%;
  height: 44px;
  background: #FFFFFF !important;
  color: #1F1F1F;
  font-size: 1rem;
  border: 1px solid #E2E2E2;
  border-radius: 2px;
  padding: 10px 18px;
  box-sizing: border-box !important;
  transition: all ease 300ms;
  outline: 0;
}

.fc-login-form__inner {
  background: #fff;
  padding: 1.25rem;
  border-radius: 4px;
  position: relative;
  width: 100%;
  max-width: 520px;
  display: block;
  box-sizing: border-box;
}
.fc-login-form:not(.is-open) .fc-login-form__inner {
  display: none;
}
.fc-login-form__close-wrapper {
position: absolute;
  right: 1.25rem;
  top: 1.25rem;
}
.fc-login-form__title {
  font-size: var(--text-medium);
  font-weight: 500;
  color: #1a1a1a;
}
.password-input {
  display: none;
}
.button--flyout-close {
  width: 20px;
  height: 20px;
  padding: 10px;
  border-radius: 99px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10' fill='none'%3E%3Cpath d='M1.4 9.975L0 8.575L3.6 4.975L0 1.4L1.4 0L5 3.6L8.575 0L9.975 1.4L6.375 4.975L9.975 8.575L8.575 9.975L5 6.375L1.4 9.975Z' fill='currentColor'/%3E%3C/svg%3E");
  background-size: auto;
  background-repeat: no-repeat;      /* or no-repeat, repeat-x, etc. */
  background-position: center;
}
.button--flyout-close:hover {
  background-color: #FAFAFA;
}

button.woocommerce-form-login__submit {
background: #000;
  padding: .8rem 2rem;
  border: 0 !important;
  font-size: var(--text-regular);
  color: #fff !important;
  font-weight: 600;
  width: 100%;
  cursor: pointer;
  transition: all ease 300ms;
  border-radius: 99px;
}

button.woocommerce-form-login__submit:hover {
  background: #1F1F1F;
}
.lost_password,
.lost_password a {
  text-decoration: none;
  font-size: var(--text-small);
  color: #1F1F1F;
}

/**
  * Toimitustavan valinta
  */


#checkout-page ul.shipping-method__options {
  width: 100%;
  background: transparent;
  display: flex;
  gap: 8px;
  flex-direction: column;
  list-style: none;
  padding: 0;
}
#checkout-page ul.shipping-method__options li.shipping-method__option {
  width: 100%;
  display: flex;
  flex-direction: row;
  gap: 0.75rem;
  justify-content: flex-start;
  align-items: center;
  border-radius: 4px;
  border: 1px solid #F2F2F2;
  padding: 0;
  background: #F2F2F2;
  cursor: pointer;
}
#checkout-page ul.shipping-method__options li.shipping-method__option:has(input:checked),
#checkout-page ul.shipping-method__options li.shipping-method__option:hover {
  border: 1px solid #092D3D;
  background: #F2F2F2;
  cursor: pointer !important;
}
#checkout-page ul.shipping-method__options li.shipping-method__option:active {
  border: 1px solid #092D3D;
  background: #F2F2F2;
}

/* Seuraava on radio input ja haluan vaihtaa sen väritykset: */
#checkout-page ul.shipping-method__options li.shipping-method__option input,
#checkout-page ul.wc_payment_methods li.wc_payment_method input {
  margin-top: 0;
  margin-left: 1rem;
  margin-right: 0;
  appearance: none;
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #6D6D6D;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  position: relative;
  transition: all 0.2s ease;
}

/* Sisäpallo, piilossa oletuksena */
#checkout-page ul.shipping-method__options li.shipping-method__option input::before,
#checkout-page ul.wc_payment_methods li.wc_payment_method input::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #159CD0;
  transform: translate(-50%, -50%) scale(0);
  transition: transform 0.2s ease;
}

/* Valittu: sininen kehä */
#checkout-page ul.shipping-method__options li.shipping-method__option input:checked,
#checkout-page ul.wc_payment_methods li.wc_payment_method input:checked {
  border-color: #159CD0;
}

/* Valittu: sininen pallo näkyviin */
#checkout-page ul.shipping-method__options li.shipping-method__option input:checked::before,
#checkout-page ul.wc_payment_methods li.wc_payment_method input:checked::before {
  transform: translate(-50%, -50%) scale(1);
}

/*
#checkout-page ul.shipping-method__options li.shipping-method__option input {
  margin: 1rem;
  margin-right: 0;
  appearance: none;
  -webkit-appearance: none;
  width: 24px;
  height: 24px;
  border: 2px solid #ccc;
  border-radius: 50%;
  cursor: pointer;
  position: relative;
  transition: all 0.2s ease;
}*/


#checkout-page ul.shipping-method__options li.shipping-method__option label {
  flex: 1;
  padding: 16px;
}
#checkout-page ul.shipping-method__options li.shipping-method__option label .shipping-method__option-label-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
#checkout-page .shipping-method__option-label-wrapper span.shipping-method__option-text,
#checkout-page .shipping-method__option-label-wrapper span.shipping-method__option-price {
  color: #232323;
  font-size: 15px;
  font-style: normal;
  font-weight: 600;
  line-height: 100%;
}
#checkout-page .shipping-method__option-label-wrapper span.shipping-method__option-price .woocommerce-Price-amount.amount bdi {
  color: #282828;
  font-size: var(--text-regular);
  font-size: 16px;
  font-weight: 600;
  line-height: normal;
}

#checkout-page .shipping-method__option-label-wrapper span.shipping-method__option-price,
#checkout-page .shipping-method__option-label-wrapper span.shipping-method__option-price .woocommerce-Price-amount.amount bdi {
  color: #262626;
}
#checkout-page .shipping-method__option-label {
  cursor: pointer;
  font-weight: 600;
  font-size: 16px;
  color: #232323;
}
/**
  * Noutopisteen valinta
  */

  
  #checkout-page #woo-carrier-agents-container {
    padding: 0;
    border-radius: 4px;
    border: 1px solid #E2E2E2;
    background: #FAFAFA;
  }
  #checkout-page #woo-carrier-agents-container .woo-carrier-agents-error-msg {
    border: 0;
    padding: 16px;
    background: transparent;
  }
  #checkout-page h3#carrier-agent-heading {
    color: #000;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 100%;
  }
  #checkout-page .carrier-agents-postcode-search {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  #checkout-page #woo-carrier-agents {
    border-radius: 8px;
    overflow: hidden;
  }
  #checkout-page .woo-carrier-agents-postcode-input-wrapper {
    position: relative;
    margin: 0;
  }
  #checkout-page .woo-carrier-agents-postcode-input-wrapper input[type="text"] {
    padding: .75rem 1rem;
    margin: 0;
    border: 1px solid #D1D5DB;
    border-radius: 2px;
    background: #FFFFFF;
    color: #374151;
    box-sizing: border-box !important;
    transition: all ease 300ms;
    outline: 0;
    max-width: unset;
    flex: 1;
  }

  #checkout-page .woo-carrier-agents-postcode-input-wrapper input[type="text"]:focus {
    border-color: #092D3D;
    background-color: #FFFFFF;
    box-shadow: unset;
  }
  #checkout-page a#woo-carrier-agents-search-button.button {
  position: absolute;
  right: 4px;
  top: 4px;
  bottom: 4px;
  border: 1px solid rgba(0, 0, 0, 0.00) !important;
  border-radius: 2px;
  color: #FFF !important;
  background: #000;
  text-decoration: none;
  height: inherit;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  }
  #checkout-page a#woo-carrier-agents-search-button:hover {
    background: #1F1F1F;
  }
  #checkout-page #woo-carrier-agents .woo-carrier-agent {
    background: transparent;
  }
  #checkout-page #woo-carrier-agents .woo-carrier-agent:hover,
  #checkout-page #woo-carrier-agents .woo-carrier-agent.active {
    background: #F1F1F1;
  }

  #checkout-page #woo-carrier-agents label.woo-carrier-agent-name {
    font-weight: 500;
  }

  #checkout-page #woo-carrier-agents-show-more {
    color: #1F1F1F;
    font-size: var(--text-small);
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
  }

/**
  * Tilauksen lisätiedot
  */

#checkout-page #fc-substep__fields--order_notes .woocommerce-additional-fields__field-wrapper {
  display: flex;
  flex-direction: column;
}
#checkout-page #fc-expansible-form-section__content--order_comments,
#checkout-page #fc-expansible-form-section__toggle-plus--order_comments {
  margin-bottom: 1.5rem;
}
#checkout-page #custobar_can_sms_field label.checkbox {
  margin-bottom: 0;
}
#checkout-page textarea#order_comments 
{
  width: 100%;
  resize: vertical;
  min-height: 80px;
  height: auto;
  font-family: inherit;
  font-size: 14px;
  padding: 8px;
  border-radius: 2px;
  border: 1px solid #E6E6E6;
  background: #F2F2F2;
  color: #6D6D6D;
  outline: 0;
}
#checkout-page textarea#order_comments:focus {
  border-color: #000;
  box-shadow: unset;
  outline: 0;
}

/**
  * Maksutavan valinta
  */


#checkout-page #payment.woocommerce-checkout-payment {
  padding: 0;
  margin: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: unset;
}
#checkout-page ul.payment_methods {
  background: transparent;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  list-style: none;
}
#checkout-page ul.payment_methods li.wc_payment_method  {
  border-radius: 2px;
  border: 0;
  border-radius: 2px;
background: #F2F2F2;
  padding: 16px 8px;
}
#checkout-page ul.payment_methods li.wc_payment_method:hover  {
  background: #F1F1F1;
}
#checkout-page ul.payment_methods li.wc_payment_method:active  {
  background: #E2E2E2;
}
#checkout-page ul.payment_methods li.wc_payment_method:hover:has(input:checked),
#checkout-page ul.payment_methods li.wc_payment_method:active:has(input:checked) {
  background: #F2F2F2;
}
#checkout-page ul.payment_methods li.wc_payment_method > label {
  display: flex;
  flex-direction: row;
  flex: 80%;
  justify-content: space-between;
  align-items: center;
}
#checkout-page ul.payment_methods li.wc_payment_method > label > .payment-method__label-text {
  color: #282828;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
#checkout-page ul.payment_methods li.wc_payment_method > label > .payment-method__label-icon img {
  height: 40px;
  width: auto;
  object-fit: contain;
}
#checkout-page ul.payment_methods li.wc_payment_method input { margin: 0;}
#checkout-page .payment_box {
  padding: 0;
  background: transparent;
  box-shadow: unset;
  border: 0;
}
#checkout-page #payment .payment_methods li fieldset {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
}
#checkout-page #payment .payment_methods li fieldset div {
  width: calc(25% - ((8px * 3) / 4));
}
@media(max-width: 420px) {
  #checkout-page #payment .payment_methods li fieldset div {
    width: calc(33.33% - ((8px * 2) / 3));
  }
}
#checkout-page #payment .payment_methods li fieldset label {
  width: 100%;
  box-shadow: unset;
  height: 95px;
  border-radius: 4px;
  background: #FFFFFF;
  border: 1px solid transparent;
}
#checkout-page #payment .payment_methods li fieldset label > img {
  height: 40px;
  width: auto;
  object-fit: contain;
}
#checkout-page #payment .payment_methods li fieldset label:hover {
  outline: 0;
  border: 1px solid #1F1F1F;
}
#checkout-page #payment .payment_methods li fieldset div.checked label {
  border-color: #1F1F1F;
}

#checkout-page .payment_method_paytrail_ppa,
#checkout-page .payment_method_kco {
background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 12px;
  row-gap: 12px;
  width: 100%;
}
#checkout-page .wc-paytrail-ppa-methods-container { width: 100%;}
#checkout-page .wc-paytrail-ppa-methods {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 1rem;
}
#checkout-page .wc-paytrail-ppa-method-group {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
}
#checkout-page .wc-paytrail-ppa-method-group-title {
  flex: 100%;
  margin-bottom: 0;
  color: #262626;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
}
#checkout-page .wc-paytrail-ppa-method {
  border: 1px solid transparent;
  border-radius: 2px;
  height: 95px;
  width: calc(33.33% - ((8px * 2) / 3));
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  box-sizing: border-box;
  background: #FFF;
  cursor: pointer;
  position: relative;
  margin: 0;
}
#checkout-page .wc-paytrail-ppa-method:has(input:checked),
#checkout-page .wc-paytrail-ppa-method:hover {
  border: 1px solid #000;
}
#checkout-page .wc-paytrail-ppa-method input {
  visibility: hidden;
}
#checkout-page img.wc-paytrail-ppa-method-icon {
  height: 60px;
  width: 120px;
  object-fit: contain;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
/**
  * Lahjakortit ja kupongit
  */

#checkout-page section.fc-coupon-code-section {
  padding: 1rem;
  width: 100%;
  background: #F9F9F9;
  margin-bottom: 1.5rem;
  border-radius: 2px;
}
#checkout-page .fc-coupon-code-section__inner .fc-coupon-code-section {
  margin: 0;
  margin-top: .5rem;
  padding: 0;
  width: 100%;
  display: flex;
  flex-direction: row;
}

#checkout-page .fc-coupon-code-section__inner .fc-coupon-code-section .form-row  {
  flex: 1;
  margin-bottom: 0;
}
#checkout-page .fc-coupon-code-section__inner .woocommerce-error {
  padding-top: .5rem;
  padding-bottom: .5rem;
  margin-bottom: 1rem;
}
#checkout-page .fc-coupon-code-section__inner .fc-coupon-code-section input {
  flex: 100%;
  background: #FFFFFF;
  border: 1px solid #D1D5DB;
  border-radius: 3px;
  padding: .75rem 1rem;
  color: #374151;
  box-sizing: border-box !important;
  transition: all ease 300ms;
  outline: 0;
}
#checkout-page .fc-coupon-code-section__inner .fc-coupon-code-section input:focus {
  border-color: #AB200E;
  background-color: #FFFFFF;
  box-shadow: 0 0 2px #AB200E;
}
#checkout-page .fc-coupon-code-section__inner .fc-coupon-code-section button {
  background: #AB200E;
  padding: .75rem 1.75rem;
  border: 0;
  font-size: var(--text-small);
  color: #FFFFFF;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
  transition: all ease 300ms;
}
/**
  * Sivupalkki
  

#checkout-page .fc-checkout-order-review__inner {
  background: #FFFFFF;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  border-radius: 0;
  padding: 0;
}

#checkout-page h3#fc-checkout-order-review-heading {
  color: #262626;
  font-family: "Albert Sans", sans-serif;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 600;
  line-height: 100%;
  margin-bottom: 0;
}
#checkout-page .fc-checkout-order-review__head {
	display: flex;
	flex-direction: row;
	width: 100%;
	justify-content: space-between;
  align-items: center;
  margin-bottom: 0;
}
#checkout-page .fc-checkout-order-review__edit-cart {
	font-size: var(--text-regular);
	font-weight: 400;
	text-decoration: underline;
  color: #282828;
}

#checkout-page table.woocommerce-checkout-review-order-table tbody {
  border: 0;
  box-shadow: unset;
  background-color: transparent;
}
#checkout-page table.woocommerce-checkout-review-order-table {
  /*border-collapse: separate;
  border-spacing: 0 1em;
  overflow: visible;
  border: 0;
}
#checkout-page table.woocommerce-checkout-review-order-table tr.cart-item {
  position: relative;
  background: #FAFAFA;
}/*
#checkout-page table.woocommerce-checkout-review-order-table tr.cart-item.bundled_table_item {
  background: red;
}
#checkout-page table.woocommerce-checkout-review-order-table tr.cart-item td .product-name {
  position: relative;
  width: 75%;
  background: transparent;
  float: left;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: .75rem;
}

#checkout-page .product-details .cart-item__name {
  color: #262626;
  font-size: var(--text-small);
  font-style: normal;
  font-weight: 600;
  line-height: 100%;
}

#checkout-page tr.cart-item img {
  width: 40px;
  height: 40px;
  object-fit: contain;
}
#checkout-page tr.cart-item .product-quantity {
  position: absolute;
  top: -8px;
  left: -8px;
  background: #F2C400;
  border-radius: 999px;
  color: #212121;
  width: 23px;
  height: 23px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
}
#checkout-page table.woocommerce-checkout-review-order-table tr.cart-item td .product-total {
  width: 25%;
  background: transparent;
  text-align: right;
  float: right;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

#checkout-page tr.cart-subtotal th,
#checkout-page tr.shipping th,
#checkout-page tr.tax-rate th,
#checkout-page tr.order-total th {
  border-bottom: 0;
  font-size: var(--text-regular);
  padding-left: 0;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  padding-top: 0;
  padding-bottom: 0;
}
#checkout-page tr.order-total th {
  font-size: var(--text-medium);
}
#checkout-page tr.cart-subtotal,
#checkout-page tr.shipping,
#checkout-page tr.tax-rate {
  border-bottom: 0;
}
#checkout-page tr.cart-subtotal td,
#checkout-page tr.shipping td,
#checkout-page tr.tax-rate td,
#checkout-page tr.order-total td {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding-right: 0;
  padding-top: 0;
  padding-bottom: 0;
}

#checkout-page tr.cart-subtotal th,
#checkout-page tr.cart-subtotal td {
  padding-top: 1rem;
}
#checkout-page tfoot .woocommerce-Price-amount.amount,
#checkout-page tfoot .woocommerce-Price-amount.amount bdi {
  color: #262626;
  font-size: var(--text-regular);
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  text-transform: uppercase;
}
#checkout-page tfoot tr.order-total .woocommerce-Price-amount.amount,
#checkout-page tfoot tr.order-total .woocommerce-Price-amount.amount bdi {
  font-size: 1.5rem;
}
#checkout-page tfoot tr.order-total .includes_tax,
#checkout-page tfoot tr.order-total .includes_tax .woocommerce-Price-amount.amount,
#checkout-page tfoot tr.order-total .includes_tax .woocommerce-Price-amount.amount bdi {
  display: inline-block;
  font-size: var(--text-small);
  margin: 0;
  color: #262626;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}


#checkout-page tr.order-total {
  border-top: 1px solid #F0F0F0;
}*/

/**
  * Sivupalkki
  */

#checkout-page {
	--summary-pad: 16px;
	--summary-gray: #F2f2f2;
	--summary-item-gray: #f2f2f2;
	--summary-divider: #CFCFCF;
}
@media (max-width: 600px) {
	#checkout-page {
		--summary-pad: 1rem;
	}
}

#checkout-page .fc-checkout-order-review__inner {
	background: #FFFFFF;
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 0;
	border-radius: 0;
	overflow: hidden;
}

/* Otsikkorivi: padding tänne, koska kontilla ei ole paddingia */
#checkout-page .fc-checkout-order-review__head {
	display: flex;
	flex-direction: row;
	width: 100%;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 0;
	padding: var(--summary-pad) var(--summary-pad) 1.25rem;
	box-sizing: border-box;
}
#checkout-page h3#fc-checkout-order-review-heading {
	color: #262626;
	font-family: "Albert Sans", sans-serif;
	font-size: 1.5rem;
	font-style: normal;
	font-weight: 600;
	line-height: 100%;
	margin-bottom: 0;
}
#checkout-page .fc-checkout-order-review__edit-cart {
	font-size: var(--text-regular);
	font-weight: 400;
	text-decoration: underline;
	color: #282828;
}

/* ---------- Taulukko ---------- */

#checkout-page table.woocommerce-checkout-review-order-table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
	overflow: visible;
	background: #FFFFFF;
}
#checkout-page table.woocommerce-checkout-review-order-table tbody {
	border: 0;
	box-shadow: unset;
	background-color: transparent;
}

/* ---------- Tuotteet: valkoinen pohja, harmaat kortit ---------- */

#checkout-page table.woocommerce-checkout-review-order-table tr.cart-item {
	background: transparent;
}
/*
#checkout-page table.woocommerce-checkout-review-order-table tr.cart-item.bundled_table_item {
  background: red;
}*/
#checkout-page table.woocommerce-checkout-review-order-table tr.cart-item > td {
	padding: 0 var(--summary-pad) .75rem;
	border: 0;
	background: #FFFFFF;
}
#checkout-page table.woocommerce-checkout-review-order-table tbody tr.cart-item:last-of-type > td {
	padding-bottom: var(--summary-pad);
}

/* Harmaa kortti */
#checkout-page table.woocommerce-checkout-review-order-table tr.cart-item .item-details {
	position: relative;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1rem;
	padding: 8px;
	background: var(--summary-item-gray);
}

#checkout-page table.woocommerce-checkout-review-order-table tr.cart-item td .product-name {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	background: transparent;
	display: flex;
	flex-direction: row;
	align-items: stretch;
	gap: .75rem;
}
#checkout-page table.woocommerce-checkout-review-order-table tr.cart-item td .product-total {
	flex: 0 0 auto;
	background: transparent;
	text-align: right;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

#checkout-page .product-details .cart-item__name {
	color: #262626;
	font-size: var(--text-small);
	font-style: normal;
	font-weight: 600;
	line-height: 100%;
}

#checkout-page tr.cart-item img {
	width: 40px;
	height: 40px;
	object-fit: contain;
}
#checkout-page tr.cart-item .product-quantity {
	position: absolute;
	top: -8px;
	left: -8px;
	background: black;
	border-radius: 999px;
	color: #FFF;
	width: 23px;
	height: 23px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
}
.product-details br,
.item-sku { display: none; }

/* ---------- Alaosa: harmaa reunasta reunaan ---------- */

#checkout-page table.woocommerce-checkout-review-order-table tfoot tr {
	background: var(--summary-gray);
	border: 0;
}
#checkout-page table.woocommerce-checkout-review-order-table tfoot th,
#checkout-page table.woocommerce-checkout-review-order-table tfoot td {
	background: var(--summary-gray);
	border: 0;
	padding-top: .5rem;
	padding-bottom: .5rem;
	vertical-align: top;
}
#checkout-page table.woocommerce-checkout-review-order-table tfoot th {
	padding-left: var(--summary-pad);
	padding-right: 0;
	text-align: left;
	font-size: var(--text-regular);
	font-style: normal;
	font-weight: 600;
	line-height: normal;
}
#checkout-page table.woocommerce-checkout-review-order-table tfoot td {
	padding-left: 0;
	padding-right: var(--summary-pad);
	text-align: right;
}
/* colspan-rivit (esim. kuponkikenttä tai ilmaisen toimituksen viesti) */
#checkout-page table.woocommerce-checkout-review-order-table tfoot td[colspan] {
	padding-left: var(--summary-pad);
	text-align: left;
}

/* Ensimmäisen rivin yläpadding, olipa se kuponki tai välisumma */
#checkout-page table.woocommerce-checkout-review-order-table tfoot tr:first-child > th,
#checkout-page table.woocommerce-checkout-review-order-table tfoot tr:first-child > td {
	padding-top: var(--summary-pad);
}

#checkout-page tfoot .woocommerce-Price-amount.amount,
#checkout-page tfoot .woocommerce-Price-amount.amount bdi {
	color: #262626;
	font-size: var(--text-regular);
	font-style: normal;
	font-weight: 400;
	line-height: 100%;
	text-transform: uppercase;
}

/* ---------- Yhteensä ---------- */

#checkout-page table.woocommerce-checkout-review-order-table tfoot tr.order-total > th,
#checkout-page table.woocommerce-checkout-review-order-table tfoot tr.order-total > td {
	padding-top: 1.5rem;
	padding-bottom: var(--summary-pad);
	vertical-align: middle;
	background-color: var(--summary-gray);
	background-image: linear-gradient(var(--summary-divider), var(--summary-divider));
	background-size: calc(100% - var(--summary-pad)) 1px;
	background-repeat: no-repeat;
}
/* Erotinviiva alkaa vasemmasta paddingista ja päättyy oikeaan */
#checkout-page table.woocommerce-checkout-review-order-table tfoot tr.order-total > th {
	background-position: right top;
	font-size: var(--text-medium);
}
#checkout-page table.woocommerce-checkout-review-order-table tfoot tr.order-total > td {
	background-position: left top;
}

#checkout-page tfoot tr.order-total .woocommerce-Price-amount.amount,
#checkout-page tfoot tr.order-total .woocommerce-Price-amount.amount bdi {
	font-size: 24px;
	font-weight: 600;
}

/* "sis. alv. 25,5%" otsikon alla (vaatii templatemuutoksen) */
#checkout-page tfoot tr.order-total .fc-order-total-tax-note {
	display: block;
	margin-top: .25rem;
	font-size: var(--text-small);
	font-weight: 400;
	line-height: normal;
	color: #262626;
}
/* Woon oma "(sis. x € ALV)" piiloon, koska teksti on nyt otsikon alla */
#checkout-page tfoot tr.order-total .includes_tax {
	display: none;
}

/**
  Kuponkiosio
*/
#order_review tr.coupon-code-form td {
  padding: 0;
}
#order_review .fc-coupon-code-section {
  display: flex;
  width: 100%;
  position: relative;
}
#order_review .fc-coupon-code-section * {
  margin: 0;
  padding: 0;
}
#order_review #coupon_code_field {
  margin: 0;
  flex: 1;
}
#order_review #coupon_code_field input {
  padding: .65rem 1.25rem;
}
#checkout-page .fc-checkout-order-review__actions-mobile {
  display: none !important;
}
#order_review .fc-coupon-code__apply {
  padding: 0;
  background: transparent;
  border: 0;
  color: #1F1F1F !important;
  font-size: var(--text-regular);
  font-weight: 600;
  cursor: pointer;
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
}
#order_review .fc-coupon-code__apply:hover {
  background: transparent;
}

/**
  Tilauksen lähettäminen
*/
button[name="woocommerce_checkout_place_order"],
#checkout-page #place_order {
  width: 100%;
  border: 0;
  background: #02A026;
  border: 0 !important;
  padding: 16px 32px;
  color: #FFF;
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: all ease 300ms;
}
#checkout-page #place_order:hover {
background: #028c22 !important;
}

#checkout-page #place_order {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: .6em;
}

#checkout-page #place_order::after {
    content: "";
    flex-shrink: 0;
    width: 1em;
    height: 1.1em;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='548 2295.67 15 16.66'%3E%3Cpath d='M561.333 2306.33C561.333 2305.62 561.333 2305.13 561.302 2304.76C561.272 2304.39 561.218 2304.21 561.152 2304.08C560.992 2303.76 560.737 2303.51 560.424 2303.35C560.296 2303.28 560.117 2303.23 559.773 2303.2L559.616 2303.19C559.254 2303.17 558.799 2303.17 558.167 2303.17H552.833C552.359 2303.17 551.984 2303.17 551.674 2303.18L551.384 2303.19C550.936 2303.22 550.723 2303.27 550.577 2303.35C550.263 2303.51 550.008 2303.76 549.848 2304.08C549.782 2304.21 549.728 2304.39 549.698 2304.76C549.667 2305.13 549.667 2305.62 549.667 2306.33V2307.5C549.667 2308.21 549.667 2308.7 549.698 2309.07C549.728 2309.44 549.782 2309.63 549.848 2309.76C550.008 2310.07 550.263 2310.33 550.577 2310.49C550.707 2310.55 550.894 2310.61 551.259 2310.64C551.634 2310.67 552.12 2310.67 552.833 2310.67H558.167C558.881 2310.67 559.366 2310.67 559.741 2310.64C560.106 2310.61 560.293 2310.55 560.424 2310.49C560.737 2310.33 560.992 2310.07 561.152 2309.76C561.218 2309.63 561.272 2309.44 561.302 2309.07C561.333 2308.7 561.333 2308.21 561.333 2307.5V2306.33ZM558.833 2300.67C558.833 2298.83 557.341 2297.33 555.5 2297.33C553.659 2297.33 552.167 2298.83 552.167 2300.67V2301.5C552.374 2301.5 552.596 2301.5 552.833 2301.5H558.167C558.404 2301.5 558.626 2301.5 558.833 2301.5V2300.67ZM560.5 2301.63C560.736 2301.68 560.962 2301.75 561.18 2301.86C561.807 2302.18 562.317 2302.69 562.637 2303.32C562.843 2303.72 562.925 2304.16 562.963 2304.62C563.001 2305.08 563 2305.65 563 2306.33V2307.5C563 2308.19 563.001 2308.75 562.963 2309.21C562.925 2309.68 562.843 2310.11 562.637 2310.51C562.317 2311.14 561.807 2311.65 561.18 2311.97C560.776 2312.18 560.345 2312.26 559.877 2312.3C559.418 2312.33 558.853 2312.33 558.167 2312.33H552.833C552.147 2312.33 551.582 2312.33 551.123 2312.3C550.655 2312.26 550.224 2312.18 549.82 2311.97C549.193 2311.65 548.683 2311.14 548.363 2310.51C548.157 2310.11 548.075 2309.68 548.037 2309.21C547.999 2308.75 548 2308.19 548 2307.5V2306.33C548 2305.65 547.999 2305.08 548.037 2304.62C548.075 2304.16 548.157 2303.72 548.363 2303.32C548.683 2302.69 549.193 2302.18 549.82 2301.86C550.038 2301.75 550.264 2301.68 550.5 2301.63V2300.67C550.5 2297.91 552.739 2295.67 555.5 2295.67C558.261 2295.67 560.5 2297.91 560.5 2300.67V2301.63Z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='548 2295.67 15 16.66'%3E%3Cpath d='M561.333 2306.33C561.333 2305.62 561.333 2305.13 561.302 2304.76C561.272 2304.39 561.218 2304.21 561.152 2304.08C560.992 2303.76 560.737 2303.51 560.424 2303.35C560.296 2303.28 560.117 2303.23 559.773 2303.2L559.616 2303.19C559.254 2303.17 558.799 2303.17 558.167 2303.17H552.833C552.359 2303.17 551.984 2303.17 551.674 2303.18L551.384 2303.19C550.936 2303.22 550.723 2303.27 550.577 2303.35C550.263 2303.51 550.008 2303.76 549.848 2304.08C549.782 2304.21 549.728 2304.39 549.698 2304.76C549.667 2305.13 549.667 2305.62 549.667 2306.33V2307.5C549.667 2308.21 549.667 2308.7 549.698 2309.07C549.728 2309.44 549.782 2309.63 549.848 2309.76C550.008 2310.07 550.263 2310.33 550.577 2310.49C550.707 2310.55 550.894 2310.61 551.259 2310.64C551.634 2310.67 552.12 2310.67 552.833 2310.67H558.167C558.881 2310.67 559.366 2310.67 559.741 2310.64C560.106 2310.61 560.293 2310.55 560.424 2310.49C560.737 2310.33 560.992 2310.07 561.152 2309.76C561.218 2309.63 561.272 2309.44 561.302 2309.07C561.333 2308.7 561.333 2308.21 561.333 2307.5V2306.33ZM558.833 2300.67C558.833 2298.83 557.341 2297.33 555.5 2297.33C553.659 2297.33 552.167 2298.83 552.167 2300.67V2301.5C552.374 2301.5 552.596 2301.5 552.833 2301.5H558.167C558.404 2301.5 558.626 2301.5 558.833 2301.5V2300.67ZM560.5 2301.63C560.736 2301.68 560.962 2301.75 561.18 2301.86C561.807 2302.18 562.317 2302.69 562.637 2303.32C562.843 2303.72 562.925 2304.16 562.963 2304.62C563.001 2305.08 563 2305.65 563 2306.33V2307.5C563 2308.19 563.001 2308.75 562.963 2309.21C562.925 2309.68 562.843 2310.11 562.637 2310.51C562.317 2311.14 561.807 2311.65 561.18 2311.97C560.776 2312.18 560.345 2312.26 559.877 2312.3C559.418 2312.33 558.853 2312.33 558.167 2312.33H552.833C552.147 2312.33 551.582 2312.33 551.123 2312.3C550.655 2312.26 550.224 2312.18 549.82 2311.97C549.193 2311.65 548.683 2311.14 548.363 2310.51C548.157 2310.11 548.075 2309.68 548.037 2309.21C547.999 2308.75 548 2308.19 548 2307.5V2306.33C548 2305.65 547.999 2305.08 548.037 2304.62C548.075 2304.16 548.157 2303.72 548.363 2303.32C548.683 2302.69 549.193 2302.18 549.82 2301.86C550.038 2301.75 550.264 2301.68 550.5 2301.63V2300.67C550.5 2297.91 552.739 2295.67 555.5 2295.67C558.261 2295.67 560.5 2297.91 560.5 2300.67V2301.63Z'/%3E%3C/svg%3E") no-repeat center / contain;
}

#checkout-page .woocommerce-privacy-policy-text p {
  font-size: var(--text-small);
  line-height: 150%;
}

@media(max-width: 1000px) {
  .bde-section {
    background: #FFFFFF;
  }
  .fc-checkout-order-review__actions-mobile {
    display: block;
  }

  #checkout-page .fc-sidebar,
  #checkout-page .fc-checkout-steps {
    border-radius: 0;
    margin: 0;
  }
}
#checkout-page .woocommerce-NoticeGroup-checkout {
  width: 100%;
}

#checkout-page .woocommerce {
  gap: 0;
}

#checkout-page input[type="radio"]:checked .shipping-method__option-label-wrapper span.shipping-method__option-text {
  color: red !important;
}

@media(max-width: 1024px) {
  #checkout-page form.checkout.woocommerce-checkout {
    padding: 20px 0 !important;
  }
  #checkout-page .woocommerce-terms-and-conditions-wrapper, .fc-place-order{
    padding: 0 16px;
  }
  .fc-place-order {
    padding-bottom: 24px;
  }
  .fc-checkout-header {
    position: unset !important;
  }
  body.woocommerce-checkout #main.fc-main {
    margin-top: 24px !important;
    padding-top: 0 !important;
  }
}