.hps-addon-group-wrap {
    margin: 0 0 24px;
}

.hps-addon {
    margin: 0 0 24px;
}

.hps-addon:last-child {
    margin-bottom: 0;
}

.hps-addon .orderable-product-fields__title {
    display: block;
    line-height: 22px;
    margin: 0 0 12px;
}

.hps-addon.hps-addon--required .orderable-product-fields__title:after {
    color: #b33b3f;
    content: "*";
    display: inline-block;
    margin-left: 4px;
}

.hps-addon-rule {
    color: #64748b;
    font-size: 13px;
    font-weight: 600;
    margin-left: 6px;
}

.hps-addon .orderable-product-fields__field {
    border: 2px solid #e6ecef;
    border-radius: 8px;
    overflow: hidden;
}

.hps-addon .orderable-product-option {
    align-items: center;
    background: #fff;
    border-bottom: 2px solid #e6ecef;
    box-sizing: border-box;
    cursor: pointer;
    display: flex;
    margin: 0;
    min-height: 48px;
    overflow: hidden;
    padding: 10px;
}

.hps-addon .orderable-product-option:last-child {
    border-bottom: 0;
}

.hps-addon .orderable-product-option__hidden-field {
    display: none;
}

.hps-addon .orderable-product-option__label {
    align-items: center;
    display: flex;
    flex: 1;
    margin: 0;
}

.hps-addon .orderable-product-option__label-data {
    margin-left: auto;
    white-space: nowrap;
}

.hps-addon .orderable-product-option__label-fee {
    background: #e6ecef;
    border-radius: 8px;
    display: inline-block;
    margin-left: 10px;
    padding: 4px 10px;
}

.hps-addon .orderable-product-option--checked .orderable-product-option__label-fee {
    background: #000;
    color: #fff;
}

.hps-addon .orderable-product-option__label-state {
    border-bottom: 4px solid #c1cfd7;
    border-right: 4px solid #c1cfd7;
    display: inline-block;
    height: 16px;
    margin: 0 5px 0 12px;
    opacity: 0;
    transform: rotate(45deg);
    width: 10px;
}

.hps-addon .orderable-product-option:hover .orderable-product-option__label-state,
.hps-addon .orderable-product-option--checked .orderable-product-option__label-state {
    opacity: 1;
}

.hps-addon .orderable-product-option--checked .orderable-product-option__label-state {
    border-color: #000;
}

.hps-addon .orderable-product-option__label-fee--positive:before {
    content: "+";
}

.hps-addon .hps-addon__selection-error,
.hps-addon .hps-addon__required-error {
    color: #ff5b5f;
    display: none;
    font-size: 14px;
    font-weight: 700;
    margin: 12px 0 0;
    text-align: center;
}

.hps-addon.hps-addon--max-warning .hps-addon__selection-error {
    display: block;
}

.hps-addon.hps-addon--required-warning .hps-addon__required-error {
    display: block;
}

/* Foody-inspired dark product/options drawer. */
body.dokani-store-template .orderable-drawer,
body.dokani-store-template .orderable-drawer__html,
body.dokani-store-template .orderable-drawer__inner {
    background: #1b1b1b !important;
    color: #fff !important;
    color-scheme: dark;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.dokani-store-template .orderable-drawer__close {
    background: rgba(0, 0, 0, 0.55) !important;
    border-radius: 999px;
    color: #fff !important;
    height: 40px;
    left: 14px;
    right: auto;
    top: 14px;
    width: 40px;
    z-index: 5;
}

body.dokani-store-template .orderable-drawer .orderable-product--options {
    background: #1b1b1b !important;
    color: #fff !important;
    color-scheme: dark;
    min-height: 100%;
}

body.dokani-store-template .orderable-drawer .orderable-product--options > .orderable-product__hero {
    display: block !important;
    height: clamp(220px, 42vh, 360px) !important;
    margin: 0 !important;
    overflow: hidden;
}

body.dokani-store-template .orderable-drawer .orderable-product--options > .orderable-product__hero img {
    display: block !important;
    height: 100% !important;
    object-fit: cover;
    opacity: 1 !important;
    position: static !important;
    width: 100% !important;
    z-index: auto !important;
}

body.dokani-store-template .orderable-drawer .orderable-product--options.hps-product--no-image > .orderable-product__hero {
    display: none !important;
}

body.dokani-store-template .orderable-drawer .orderable-product--options .orderable-sb-container {
    background: #1b1b1b !important;
    padding: 0 0 112px;
}

body.dokani-store-template .orderable-drawer .orderable-product--options .orderable-sb-content {
    padding: 0 !important;
}

body.dokani-store-template .orderable-drawer .orderable-product--options .orderable-sb-container {
    padding-right: 0 !important;
}

body.dokani-store-template .orderable-drawer .orderable-product--options .orderable-sb-content {
    width: 100% !important;
}

body.dokani-store-template .orderable-drawer .orderable-product--options .orderable-sb-scrollbar-container,
body.dokani-store-template .orderable-drawer .orderable-product--options .orderable-sb-scrollbar {
    display: none !important;
}

body.dokani-store-template .orderable-drawer .hps-native-drawer-scroll {
    -ms-overflow-style: none;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scrollbar-width: none;
}

body.dokani-store-template .orderable-drawer .hps-native-drawer-scroll::-webkit-scrollbar {
    display: none;
    height: 0;
    width: 0;
}

body.dokani-store-template .orderable-drawer .orderable-product__title {
    background: #1b1b1b;
    border-radius: 10px 10px 0 0;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.28;
    margin: -12px 0 8px !important;
    padding: 18px 14px 10px;
    position: relative;
    z-index: 2;
}

body.dokani-store-template .orderable-drawer .orderable-product--options.hps-product--no-image .orderable-product__title {
    border-radius: 0;
    margin-top: 54px !important;
}

body.dokani-store-template .orderable-drawer .hps-product-summary {
    background: #1b1b1b;
    margin: -4px 0 8px;
    padding: 0 14px 8px;
}

body.dokani-store-template .orderable-drawer .hps-product-summary__description {
    color: #cfcfcf;
    font-size: 14px;
    line-height: 1.38;
    margin: 0 0 12px;
}

body.dokani-store-template .orderable-drawer .hps-product-summary__description p {
    margin: 0;
}

body.dokani-store-template .orderable-drawer .hps-product-summary__price {
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.2;
}

body.dokani-store-template .orderable-drawer .hps-product-summary__long-description {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    color: #d8d8d8;
    font-size: 13px;
    line-height: 1.5;
    margin: 14px 0 0;
    padding: 12px 0 0;
}

body.dokani-store-template .orderable-drawer .hps-product-summary__long-description p,
body.dokani-store-template .orderable-drawer .hps-product-summary__long-description ul,
body.dokani-store-template .orderable-drawer .hps-product-summary__long-description ol {
    margin: 0 0 10px;
}

body.dokani-store-template .orderable-drawer .hps-product-summary__long-description > :last-child {
    margin-bottom: 0;
}

body.dokani-store-template .hps-product-row-clickable {
    cursor: pointer;
}

body.dokani-store-template .hps-product-row-clickable:focus-visible {
    outline: 2px solid #08d6b3;
    outline-offset: 4px;
}

body.dokani-store-template .orderable-drawer .hps-addon-group-wrap,
body.dokani-store-template .orderable-drawer .hps-customization-wrap {
    margin: 8px 0;
    padding: 0;
}

body.dokani-store-template .orderable-drawer .hps-addon,
body.dokani-store-template .orderable-drawer .hps-product-note {
    background: #222 !important;
    border-radius: 8px;
    margin: 0 0 8px;
    padding: 14px;
}

body.dokani-store-template .orderable-drawer .hps-addon.hps-addon--required-warning,
body.dokani-store-template .orderable-drawer .hps-addon.hps-addon--max-warning {
    box-shadow: inset 0 0 0 1px #ff5b5f;
}

body.dokani-store-template .orderable-drawer .hps-addon .orderable-product-fields__title {
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 4px;
}

body.dokani-store-template .orderable-drawer .hps-addon-rule {
    background: #333;
    border: 1px solid #4a4a4a;
    border-radius: 999px;
    color: #e8e8e8;
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.15;
    margin: 8px 0 0;
    padding: 5px 10px;
}

body.dokani-store-template .orderable-drawer .hps-addon .orderable-product-fields__field {
    background: transparent !important;
    border: 0;
    border-radius: 0;
}

body.dokani-store-template .orderable-drawer .hps-addon .orderable-product-option {
    background: transparent !important;
    border-bottom: 1px solid #303030;
    color: #fff !important;
    min-height: 62px;
    padding: 11px 2px;
}

body.dokani-store-template .orderable-drawer .hps-addon .orderable-product-option__label {
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

body.dokani-store-template .orderable-drawer .hps-addon .orderable-product-option__hidden-field {
    appearance: none;
    -webkit-appearance: none;
    background: transparent !important;
    border: 2px solid #757575;
    border-radius: 3px;
    display: inline-block;
    flex: 0 0 auto;
    height: 22px;
    margin: 0;
    pointer-events: none;
    position: relative;
    width: 22px;
}

body.dokani-store-template .orderable-drawer .hps-addon .orderable-product-option__hidden-field:checked {
    background: #07d7b0 !important;
    border-color: #07d7b0 !important;
}

body.dokani-store-template .orderable-drawer .hps-addon .orderable-product-option__hidden-field:checked:after {
    border-bottom: 2px solid #101010;
    border-right: 2px solid #101010;
    content: "";
    height: 11px;
    left: 7px;
    position: absolute;
    top: 2px;
    transform: rotate(45deg);
    width: 6px;
}

body.dokani-store-template .orderable-drawer .hps-addon .orderable-product-option__label-text {
    color: #fff;
    flex: 1 1 calc(100% - 34px);
    font-size: 14px;
}

body.dokani-store-template .orderable-drawer .hps-addon .orderable-product-option__label-data {
    flex: 0 0 calc(100% - 34px);
    margin-left: 34px;
    white-space: normal;
}

body.dokani-store-template .orderable-drawer .hps-addon .orderable-product-option__label-fee {
    background: transparent;
    color: #cfcfcf;
    display: block;
    font-size: 12px;
    margin: 3px 0 0;
    padding: 0;
}

body.dokani-store-template .orderable-drawer .hps-product-summary__allergens {
    color: #cfcfcf;
    font-size: 12px;
    line-height: 1.45;
    margin-top: 8px;
}

body.dokani-store-template .orderable-drawer .hps-product-summary__allergens span {
    color: #fff;
    display: block;
    font-weight: 700;
    margin-bottom: 2px;
}

body.dokani-store-template .orderable-drawer .hps-product-summary__allergens + .hps-product-summary__price {
    margin-top: 10px;
}

body.dokani-store-template .orderable-drawer .hps-option-allergens {
    color: #aaa;
    display: block;
    font-size: 11px;
    line-height: 1.35;
    margin-top: 4px;
}

body.dokani-store-template .orderable-drawer .hps-addon .orderable-product-option__label-state {
    display: none;
}

body.dokani-store-template .orderable-drawer .hps-product-note__toggle {
    align-items: center;
    background: transparent !important;
    border: 0;
    border-radius: 0;
    box-shadow: none !important;
    color: #fff !important;
    cursor: pointer;
    display: flex;
    font-size: 14px;
    font-weight: 700;
    justify-content: space-between;
    padding: 0;
    text-align: left;
    width: 100%;
}

body.dokani-store-template .orderable-drawer .hps-product-note__icon {
    font-size: 26px;
    font-weight: 400;
    line-height: 1;
}

body.dokani-store-template .orderable-drawer .hps-product-note__field {
    -webkit-appearance: none;
    background: #171717 !important;
    border: 1px solid #363636 !important;
    border-radius: 7px;
    box-shadow: none !important;
    color: #fff !important;
    display: none !important;
    margin-top: 12px;
    padding: 10px;
    resize: vertical;
    width: 100%;
}

body.dokani-store-template .orderable-drawer .hps-product-note--open .hps-product-note__field {
    display: block !important;
}

body.dokani-store-template .orderable-drawer .hps-product-note__field::placeholder {
    color: #9a9a9a !important;
    opacity: 1;
}

body.dokani-store-template .orderable-drawer .hps-product-quantity {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
    margin: 0;
    position: static;
    z-index: 4;
}

body.dokani-store-template .orderable-drawer .hps-product-quantity__button {
    align-items: center;
    background: #2b2b2b !important;
    border: 0 !important;
    border-radius: 7px;
    color: #fff !important;
    cursor: pointer;
    display: inline-flex;
    font-size: 20px;
    height: 32px;
    justify-content: center;
    line-height: 1;
    padding: 0;
    width: 32px;
}

body.dokani-store-template .orderable-drawer .hps-product-quantity__input {
    -webkit-appearance: none;
    appearance: textfield;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #fff !important;
    font-size: 22px;
    font-weight: 700;
    height: 32px;
    padding: 0;
    text-align: center;
    width: 34px;
}

body.dokani-store-template .orderable-drawer .hps-product-quantity__input::-webkit-outer-spin-button,
body.dokani-store-template .orderable-drawer .hps-product-quantity__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

body.dokani-store-template .orderable-drawer .orderable-product__actions {
    align-items: center;
    background: #111;
    border-top: 1px solid #303030;
    bottom: 0;
    display: flex !important;
    gap: 14px;
    left: 0;
    min-height: 74px;
    padding: 14px 18px !important;
    position: absolute;
    right: 0;
    z-index: 3;
}

body.dokani-store-template .orderable-drawer .orderable-product__actions-price {
    display: none;
}

body.dokani-store-template .orderable-drawer .orderable-product__actions-button {
    margin: 0;
    width: 100%;
}

body.dokani-store-template .orderable-drawer .orderable-product__actions-button .orderable-button {
    align-items: center;
    background: #07d7b0 !important;
    border: 0 !important;
    border-radius: 7px !important;
    color: #071613 !important;
    display: flex;
    font-size: 15px !important;
    font-weight: 700;
    height: 48px;
    justify-content: center;
    line-height: 1 !important;
    min-height: 48px;
    padding: 0 18px !important;
    width: 100%;
}

body.dokani-store-template .orderable-drawer .orderable-product__actions-button .orderable-button:before,
body.dokani-store-template .orderable-drawer .orderable-product__actions-button .orderable-button:after,
body.dokani-store-template .orderable-drawer .orderable-product__actions-button button:before,
body.dokani-store-template .orderable-drawer .orderable-product__actions-button button:after {
    content: none !important;
    display: none !important;
}

body.dokani-store-template .orderable-drawer .orderable-product__actions-button .orderable-button.orderable-button--loading {
    opacity: 0.82;
}

body.dokani-store-template .orderable-drawer__cart {
    background: #1b1b1b !important;
    box-sizing: border-box;
    color: #fff !important;
    display: flex !important;
    flex-direction: column;
    height: 100%;
    min-height: 100%;
    padding: 58px 18px 0 !important;
}

body.dokani-store-template .orderable-drawer__cart > h3 {
    border-bottom: 1px solid #a6a6a6;
    color: #fff !important;
    flex: 0 0 auto;
    font-size: 18px !important;
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 12px !important;
    padding: 0 0 14px !important;
    text-align: center;
}

body.dokani-store-template .orderable-mini-cart-wrapper {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
}

body.dokani-store-template .orderable-mini-cart-wrapper > .orderable-sb-container {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 0 0 18px !important;
}

body.dokani-store-template .orderable-drawer__cart .orderable-sb-content {
    padding: 0 !important;
}

body.dokani-store-template .orderable-mini-cart {
    margin: 0 !important;
    padding: 0 !important;
}

body.dokani-store-template .orderable-mini-cart__total {
    border-top: 1px solid #a6a6a6;
    color: #fff !important;
    flex: 0 0 auto;
    font-size: 14px !important;
    font-weight: 800;
    line-height: 1.3;
    margin: 0 !important;
    padding: 14px 0 !important;
    text-align: center;
}

body.dokani-store-template .orderable-mini-cart__buttons-wrapper {
    background: #111 !important;
    border-top: 1px solid #303030;
    display: grid !important;
    flex: 0 0 auto;
    gap: 8px;
    margin: 0 -18px !important;
    padding: 10px 18px calc(10px + env(safe-area-inset-bottom)) !important;
    position: sticky;
    bottom: 0;
    z-index: 4;
}

body.dokani-store-template .orderable-mini-cart__buttons {
    margin: 0 !important;
}

body.dokani-store-template .orderable-mini-cart__buttons-wrapper .orderable-button--continue-shopping,
body.dokani-store-template .orderable-mini-cart__buttons-wrapper .hps-cart-continue-button {
    align-items: center;
    background: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.78) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    color: #171717 !important;
    display: flex !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    height: 44px !important;
    justify-content: center;
    line-height: 1 !important;
    margin: 0 !important;
    min-height: 44px !important;
    padding: 0 14px !important;
    text-align: center;
    text-decoration: none !important;
    width: 100% !important;
}

body.dokani-store-template .orderable-mini-cart__buttons-wrapper .checkout,
body.dokani-store-template .orderable-mini-cart__buttons-wrapper .hps-cart-checkout-button {
    align-items: center;
    background: #07d7b0 !important;
    border: 0 !important;
    border-radius: 7px !important;
    box-shadow: none !important;
    box-sizing: border-box;
    color: #071613 !important;
    display: grid !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    grid-template-columns: auto 1fr auto;
    height: 48px !important;
    justify-content: stretch;
    line-height: 1 !important;
    margin: 0 !important;
    min-height: 48px !important;
    padding: 0 14px !important;
    text-align: center;
    text-decoration: none !important;
    width: 100% !important;
}

body.dokani-store-template .hps-cart-checkout-count {
    align-items: center;
    background: #08211d;
    border-radius: 4px;
    color: #fff;
    display: inline-flex;
    font-size: 13px;
    height: 24px;
    justify-content: center;
    min-width: 24px;
    padding: 0 7px;
}

body.dokani-store-template .hps-cart-checkout-label {
    justify-self: center;
}

body.dokani-store-template .hps-cart-checkout-total {
    justify-self: end;
    white-space: nowrap;
}

@media (max-width: 480px) {
    body.dokani-store-template .orderable-drawer .hps-product-quantity__button {
        height: 30px;
        width: 30px;
    }

    body.dokani-store-template .orderable-drawer .hps-product-quantity__input {
        font-size: 22px;
        width: 30px;
    }

    body.dokani-store-template .orderable-drawer .orderable-product__actions {
        padding-right: 14px !important;
        padding-left: 14px !important;
    }

    body.dokani-store-template .orderable-drawer__cart {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    body.dokani-store-template .orderable-mini-cart__buttons-wrapper {
        margin-left: -14px !important;
        margin-right: -14px !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}

body.hps-pos-drawer-active .orderable-drawer,
body.hps-pos-drawer-active .orderable-drawer__html,
body.hps-pos-drawer-active .orderable-drawer__inner,
body.hps-pos-drawer-active .orderable-drawer .orderable-product--options,
body.hps-pos-drawer-active .orderable-drawer .orderable-sb-container {
    background: #1b1b1b !important;
    color: #fff !important;
    color-scheme: dark;
}

body.hps-pos-drawer-active .orderable-drawer .hps-addon,
body.hps-pos-drawer-active .orderable-drawer .hps-product-note {
    background: #222 !important;
    border-radius: 8px;
}

body.hps-pos-drawer-active .orderable-drawer .hps-addon .orderable-product-fields__field,
body.hps-pos-drawer-active .orderable-drawer .hps-addon .orderable-product-option {
    background: transparent !important;
    color: #fff !important;
}

body.hps-pos-drawer-active .orderable-drawer .hps-product-note__toggle {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #fff !important;
    display: flex;
    justify-content: space-between;
    width: 100%;
}

body.hps-pos-drawer-active .orderable-drawer .hps-product-note__field {
    -webkit-appearance: none;
    background: #171717 !important;
    border: 1px solid #363636 !important;
    box-shadow: none !important;
    color: #fff !important;
    display: none !important;
}

body.hps-pos-drawer-active .orderable-drawer .hps-product-note--open .hps-product-note__field {
    display: block !important;
}

body.hps-pos-drawer-active .orderable-drawer .hps-product-quantity__button {
    background: #2b2b2b !important;
    border: 0 !important;
    color: #fff !important;
}

body.hps-pos-drawer-active .orderable-drawer .hps-product-quantity__input {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #fff !important;
}

body.hps-pos-drawer-active .orderable-drawer .orderable-product__actions {
    background: #111 !important;
    border-top: 1px solid #303030 !important;
}

body.hps-pos-drawer-active .orderable-drawer .orderable-product__actions-button .orderable-button {
    background: #07d7b0 !important;
    color: #071613 !important;
}

body.hps-pos-drawer-active .orderable-drawer .orderable-product--options .orderable-sb-container {
    padding-right: 0 !important;
}

body.hps-pos-drawer-active .orderable-drawer .orderable-product--options .orderable-sb-content {
    width: 100% !important;
}

body.hps-pos-drawer-active .orderable-drawer .orderable-product--options .orderable-sb-scrollbar-container,
body.hps-pos-drawer-active .orderable-drawer .orderable-product--options .orderable-sb-scrollbar {
    display: none !important;
}

body.hps-pos-drawer-active .orderable-drawer .hps-native-drawer-scroll {
    -ms-overflow-style: none;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scrollbar-width: none;
}

body.hps-pos-drawer-active .orderable-drawer .hps-native-drawer-scroll::-webkit-scrollbar {
    display: none;
    height: 0;
    width: 0;
}

/* Foody-style checkout */
body.woocommerce-checkout {
    background: #191919 !important;
    color: #fff;
    color-scheme: dark;
}

body.woocommerce-checkout #page,
body.woocommerce-checkout #content,
body.woocommerce-checkout #primary,
body.woocommerce-checkout .site-main,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .woocommerce {
    background: #191919 !important;
    color: #fff;
}

body.woocommerce-checkout .site-footer,
body.woocommerce-checkout .trust-factors-section,
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woocommerce-form-coupon {
    display: none !important;
}

body.woocommerce-checkout .pos-checkout-page-active .site-main {
    box-sizing: border-box;
    padding: 18px 16px 112px !important;
}

body.hps-platform-page {
    background: #191919 !important;
    color: #fff;
    color-scheme: dark;
}

body.hps-platform-page #page,
body.hps-platform-page #content,
body.hps-platform-page #primary,
body.hps-platform-page .site-main,
body.hps-platform-page .entry-content {
    background: #191919 !important;
    color: #fff;
}

body.hps-platform-page .site-footer,
body.hps-platform-page .trust-factors-section {
    display: none !important;
}

body.hps-platform-page .site-header,
body.hps-platform-page .main-navigation,
body.hps-platform-page .responsive-nav {
    background: #191919 !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.hps-platform-page .site-header {
    border-bottom: 1px solid #2b2b2b !important;
    padding: 16px;
}

body.hps-platform-page .site-header .inside-header {
    align-items: center;
    background: #202020;
    border: 1px solid #303030;
    border-radius: 8px;
    box-sizing: border-box;
    display: flex;
    margin: 0 auto;
    max-width: 820px;
    min-height: 64px;
    padding: 12px 16px;
    width: 100%;
}

body.hps-platform-page .site-branding,
body.hps-platform-page .site-header .header-left {
    min-width: 0;
}

body.hps-platform-page .site-branding .main-title,
body.hps-platform-page .site-title {
    font-size: 18px;
    font-weight: 800;
    line-height: 1.15;
    margin: 0;
}

body.hps-platform-page .site-branding .main-title a,
body.hps-platform-page .site-title a,
body.hps-platform-page .site-description {
    color: #fff !important;
}

body.hps-platform-page .site-main,
body.hps-platform-page #primary {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 820px;
    padding: 28px 16px 32px;
}

body.hps-platform-page .page-header,
body.hps-platform-page .entry-header {
    background: transparent !important;
    margin: 0 0 18px;
    padding: 0;
}

body.hps-platform-page .entry-title,
body.hps-platform-page .page-title {
    color: #fff !important;
    font-size: 26px;
    line-height: 1.2;
    margin: 0;
}

body.hps-platform-page .entry-content {
    border: 1px solid #303030;
    border-radius: 8px;
    background: #202020 !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.24);
    padding: 24px;
}

body.hps-platform-page .entry-content h1,
body.hps-platform-page .entry-content h2,
body.hps-platform-page .entry-content h3 {
    color: #fff;
    letter-spacing: 0;
}

body.hps-platform-page .entry-content h1 {
    font-size: 28px;
    line-height: 1.15;
    margin: 0 0 16px;
}

body.hps-platform-page .entry-content h2 {
    font-size: 20px;
    line-height: 1.25;
    margin: 24px 0 10px;
}

body.hps-platform-page .entry-content p,
body.hps-platform-page .entry-content li {
    color: #e5e5e5;
    font-size: 15px;
    line-height: 1.6;
}

.dokan-dashboard-menu li.vendor-terms {
    border-top: 1px solid rgba(255, 255, 255, 0.16);
    margin-top: 12px;
    padding-top: 10px;
}

.dokan-dashboard-menu li.vendor-terms a {
    opacity: 0.86;
}

.dokan-dashboard-menu li.vendor-terms a:hover {
    opacity: 1;
}

.dokan-frontend-layout .dokan-frontend-sidebar a[href*="/vendor-terms/"] {
    border-top: 1px solid rgba(255, 255, 255, 0.16);
    margin-top: 12px;
    padding-top: 18px !important;
}

.dokan-frontend-layout .dokan-frontend-sidebar .site-title,
.dokan-frontend-layout .dokan-frontend-sidebar .site-name,
.dokan-frontend-layout .dokan-frontend-sidebar .site-title a,
.dokan-frontend-layout .dokan-frontend-sidebar .site-name a,
.dokan-frontend-layout .dokan-frontend-sidebar [class*="site-title"],
.dokan-frontend-layout .dokan-frontend-sidebar [class*="site-name"],
.dokan-frontend-layout .dokan-frontend-sidebar .text-2xl {
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
}

.hps-guest-policy-header {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.hps-guest-policy-section {
    border-top: 1px solid #ddd;
    margin-top: 24px;
    padding-top: 20px;
}

.hps-guest-policy-section h2 {
    font-size: 20px;
    letter-spacing: 0;
    margin: 0 0 12px;
}

.hps-guest-policy-document {
    background: #fff;
    border: 1px solid #ddd;
    max-height: 420px;
    overflow: auto;
    padding: 18px;
}

.hps-guest-policy-actions {
    margin: 16px 0 0;
}

.hps-guest-policy-public h2 {
    letter-spacing: 0;
}

.hps-vendor-allergen-review {
    background: #fff8e5;
    border: 2px solid #d99a00;
    border-radius: 8px;
    margin-top: 20px;
    padding: 16px;
}

.hps-vendor-allergen-review h3 {
    color: #5c3c00;
    margin: 0 0 8px;
}

.hps-vendor-allergen-review__table-wrap {
    background: #fff;
    border: 1px solid #d7c99f;
    margin-top: 12px;
    max-height: 420px;
    overflow: auto;
}

.hps-vendor-allergen-review__table {
    border-collapse: collapse;
    min-width: 720px;
    width: 100%;
}

.hps-vendor-allergen-review__table th,
.hps-vendor-allergen-review__table td {
    border-bottom: 1px solid #e7e1d0;
    padding: 8px 10px;
    text-align: left;
    vertical-align: top;
}

.hps-vendor-allergen-review__table th {
    background: #f4edd8;
    color: #352600;
    position: sticky;
    top: 0;
}

.hps-vendor-allergen-review__confirmation {
    align-items: flex-start;
    background: #fff3cd;
    border: 2px solid #d99a00;
    border-radius: 7px;
    color: #3f2e00;
    display: flex !important;
    font-weight: 600;
    gap: 10px;
    margin-bottom: 16px;
    padding: 12px;
}

.hps-vendor-allergen-review__confirmation input {
    flex: 0 0 auto;
    margin-top: 3px;
}

.hps-platform-footer {
    box-sizing: border-box;
    background: #141414;
    border-top: 1px solid #2b2b2b;
    color: #bdbdbd;
    font-size: 12px;
    padding: 16px;
    width: 100%;
}

body.dokani-store-template .hps-ai-image-disclaimer {
    color: #aeb5b3;
    font-size: 12px;
    line-height: 1.45;
    margin: 0 0 14px;
    padding: 0 2px;
}

body.dokani-store-template .hps-storefront-review-notice {
    background: #33270a;
    border: 2px solid #d9a31a;
    border-radius: 8px;
    color: #fff2c5;
    display: grid;
    gap: 4px;
    margin: 0 0 18px;
    padding: 14px 16px;
}

body.dokani-store-template .hps-storefront-review-notice strong {
    color: #ffda70;
    font-size: 16px;
}

body.dokani-store-template .hps-storefront-review-notice span {
    font-size: 13px;
    line-height: 1.45;
}

.hps-platform-footer--guest {
    border: 1px solid #2b2b2b;
    border-radius: 8px 8px 0 0;
    margin: 24px auto 0;
    max-width: 560px;
    padding-bottom: max(16px, env(safe-area-inset-bottom));
    width: min(560px, calc(100% - 32px));
}

body.dokani-store-template .hps-platform-footer--guest,
body.woocommerce-checkout .hps-platform-footer--guest {
    padding-bottom: max(86px, env(safe-area-inset-bottom));
}

body.dokani-store-template .hps-platform-footer--guest {
    border-radius: 8px;
    margin-bottom: 16px;
    max-width: 760px;
    padding-bottom: max(16px, env(safe-area-inset-bottom));
    width: min(760px, calc(100% - 24px));
}

body.hps-platform-page .hps-platform-footer--guest {
    max-width: 820px;
    width: min(820px, calc(100% - 32px));
}

.hps-platform-footer--vendor {
    background: transparent;
    border-top: 1px solid #e6e8ee;
    color: #5f6675;
    margin-top: 28px;
}

.hps-platform-footer__inner {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1120px;
    width: 100%;
}

.hps-platform-footer--guest .hps-platform-footer__inner {
    max-width: none;
}

.hps-platform-footer__brand {
    min-width: 0;
}

.hps-platform-footer__brand strong {
    color: #fff;
    font-size: 13px;
    line-height: 1.2;
}

.hps-platform-footer--vendor .hps-platform-footer__brand strong {
    color: #1f2937;
}

.hps-platform-footer__copyright {
    color: inherit;
    line-height: 1.35;
    margin-left: auto;
    text-align: right;
}

@media (max-width: 720px) {
    .hps-platform-footer__inner {
		align-items: center;
		flex-direction: row;
		gap: 12px;
    }

    body.hps-platform-page .entry-content {
        padding: 20px 16px;
    }
}

body.woocommerce-checkout .orderable-checkout {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 1120px;
    width: 100%;
}

body.woocommerce-checkout .orderable-checkout__form {
    align-items: start;
    display: grid !important;
    gap: 22px;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 440px);
}

body.woocommerce-checkout .orderable-checkout-mobile-header {
    display: none !important;
}

body.woocommerce-checkout .checkout_right_section,
body.woocommerce-checkout .checkout_left_section,
body.woocommerce-checkout .orderable-checkout-section,
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout .orderable-checkout-section--payment,
body.woocommerce-checkout #payment {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #fff;
    padding: 0 !important;
}

body.woocommerce-checkout .checkout_right_section {
    order: 2;
    position: sticky;
    top: 16px;
}

body.woocommerce-checkout .checkout_left_section {
    order: 1;
}

body.woocommerce-checkout .checkout_right_section:before,
body.woocommerce-checkout .checkout_left_section:before {
    color: #fff;
    display: block;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.25;
    margin: 0 0 12px;
}

body.woocommerce-checkout .checkout_right_section:before {
    content: "Checkout";
}

body.woocommerce-checkout .checkout_left_section:before {
    content: "Your details";
}

body.woocommerce-checkout h2,
body.woocommerce-checkout h3,
body.woocommerce-checkout .orderable-tip__title {
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    margin: 0 0 12px !important;
}

body.woocommerce-checkout .form-row {
    margin-bottom: 14px !important;
}

body.woocommerce-checkout label {
    color: #d8d8d8 !important;
    font-size: 13px;
    font-weight: 650;
    margin-bottom: 6px;
}

body.woocommerce-checkout .required {
    color: #ff5664 !important;
}

body.woocommerce-checkout input.input-text,
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-selection {
    -webkit-appearance: none;
    appearance: none;
    background: #242424 !important;
    border: 1px solid #3a3a3a !important;
    border-radius: 7px !important;
    box-shadow: none !important;
    box-sizing: border-box;
    color: #fff !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    min-height: 44px;
    padding: 11px 12px !important;
    width: 100%;
}

body.woocommerce-checkout textarea {
    min-height: 96px;
    resize: vertical;
}

body.woocommerce-checkout input.input-text:focus,
body.woocommerce-checkout textarea:focus,
body.woocommerce-checkout select:focus,
body.woocommerce-checkout .select2-container--open .select2-selection {
    border-color: #07d7b0 !important;
    outline: 0 !important;
}

body.woocommerce-checkout input::placeholder,
body.woocommerce-checkout textarea::placeholder {
    color: #9c9c9c !important;
}

body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-account-fields,
body.woocommerce-checkout #payment,
body.woocommerce-checkout .hps-checkout-policy {
    background: #202020 !important;
    border: 1px solid #2c2c2c !important;
    border-radius: 8px;
    box-sizing: border-box;
    margin: 0 0 14px !important;
    padding: 16px !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
    margin: 0;
}

body.woocommerce-checkout .orderable-checkout__order-review {
    background: #202020 !important;
    border: 1px solid #2c2c2c !important;
    border-collapse: separate !important;
    border-radius: 8px;
    border-spacing: 0;
    color: #fff;
    display: block;
    overflow: hidden;
    width: 100%;
}

body.woocommerce-checkout .orderable-checkout__order-review thead {
    display: none !important;
}

body.woocommerce-checkout .orderable-checkout__order-review tbody,
body.woocommerce-checkout .orderable-checkout__order-review tfoot {
    display: block;
}

body.woocommerce-checkout .orderable-checkout__order-review tr {
    border: 0 !important;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    margin: 0;
    width: 100%;
}

body.woocommerce-checkout .orderable-checkout__order-review tbody tr.cart-item,
body.woocommerce-checkout .orderable-checkout__order-review tbody tr.fee,
body.woocommerce-checkout .orderable-checkout__order-review tbody tr.orderable-tip-row,
body.woocommerce-checkout .orderable-checkout__order-review tfoot tr {
    border-bottom: 1px solid #373737 !important;
}

body.woocommerce-checkout .orderable-checkout__order-review tbody tr.cart-item:last-child,
body.woocommerce-checkout .orderable-checkout__order-review tfoot tr:last-child {
    border-bottom: 0 !important;
}

body.woocommerce-checkout .orderable-checkout__order-review th,
body.woocommerce-checkout .orderable-checkout__order-review td {
    background: transparent !important;
    border: 0 !important;
    color: #fff !important;
    display: block;
    padding: 14px 14px !important;
    vertical-align: top;
}

body.woocommerce-checkout .orderable-checkout__order-review td.product-name {
    min-width: 0;
}

body.woocommerce-checkout .orderable-checkout__order-review td.product-total {
    align-self: center;
    font-size: 14px;
    font-weight: 800;
    padding-left: 8px !important;
    text-align: right;
    white-space: nowrap;
}

body.woocommerce-checkout .orderable-checkout__cart-item {
    align-items: flex-start;
    display: flex;
    flex-direction: row-reverse;
    gap: 12px;
    min-width: 0;
}

body.woocommerce-checkout .orderable-checkout__cart-item-image {
    display: block !important;
    flex: 0 0 72px;
    height: 72px;
    overflow: hidden;
}

body.woocommerce-checkout .orderable-checkout__cart-item-image img {
    border-radius: 7px;
    display: block;
    height: 72px;
    object-fit: cover;
    width: 72px;
}

body.woocommerce-checkout .orderable-checkout__cart-item-data {
    flex: 1 1 auto;
    min-width: 0;
}

body.woocommerce-checkout .orderable-checkout__cart-item-data strong,
body.woocommerce-checkout .orderable-checkout__cart-item-data a,
body.woocommerce-checkout .orderable-checkout__cart-item-data .product-name {
    color: #fff !important;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.25;
    text-decoration: none;
}

body.woocommerce-checkout .orderable-checkout__cart-item-data,
body.woocommerce-checkout .orderable-checkout__cart-item-data p,
body.woocommerce-checkout .orderable-checkout__cart-item-data dl,
body.woocommerce-checkout .orderable-checkout__cart-item-data dd,
body.woocommerce-checkout .orderable-checkout__cart-item-data dt,
body.woocommerce-checkout .orderable-checkout__cart-item-data .variation {
    color: #cfcfcf !important;
    font-size: 13px;
    line-height: 1.35;
    margin-bottom: 0;
}

body.woocommerce-checkout .orderable-checkout__cart-item-data .product-quantity {
    color: #fff;
    font-weight: 800;
}

body.woocommerce-checkout .orderable-checkout__cart-subtotal th,
body.woocommerce-checkout .orderable-checkout__cart-subtotal td,
body.woocommerce-checkout .fee th,
body.woocommerce-checkout .fee td,
body.woocommerce-checkout .order-total th,
body.woocommerce-checkout .order-total td {
    color: #fff !important;
    font-size: 14px;
    font-weight: 750 !important;
}

body.woocommerce-checkout .order-total th,
body.woocommerce-checkout .order-total td {
    font-size: 16px;
}

body.woocommerce-checkout .hlvl-order-review-location {
    background: #232323 !important;
    border-bottom: 1px solid #373737 !important;
    grid-template-columns: 1fr !important;
}

body.woocommerce-checkout .hlvl-order-review-location th,
body.woocommerce-checkout .hlvl-order-review-location td {
    padding: 4px 14px !important;
}

body.woocommerce-checkout .hlvl-order-review-location th {
    color: #bdbdbd !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding-top: 14px !important;
}

body.woocommerce-checkout .hlvl-order-review-location td {
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    padding-bottom: 14px !important;
}

body.woocommerce-checkout .hlvl-order-review-location th:before {
    background: #ff5664;
    border-radius: 999px;
    content: "";
    display: inline-block;
    height: 9px;
    margin-right: 8px;
    vertical-align: middle;
    width: 9px;
}

body.woocommerce-checkout .orderable-tip-row {
    display: block !important;
    grid-template-columns: 1fr !important;
}

body.woocommerce-checkout .orderable-tip-row td {
    display: block !important;
    padding: 0 !important;
}

body.woocommerce-checkout #orderable-tip {
    background: #202020 !important;
    border: 1px solid #2c2c2c;
    border-radius: 8px;
    margin: 14px 0 0;
    padding: 16px !important;
}

body.woocommerce-checkout .orderable-tip__row {
    gap: 10px;
    justify-content: flex-start !important;
}

body.woocommerce-checkout .orderable-tip__button,
body.woocommerce-checkout .orderable-tip__custom-form-button {
    background: #2b2b2b !important;
    border: 0 !important;
    border-radius: 7px !important;
    color: #fff !important;
    flex: 0 0 auto !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    min-height: 40px;
    padding: 0 16px !important;
}

body.woocommerce-checkout .orderable-tip__button.orderable-button--active,
body.woocommerce-checkout .orderable-tip__custom-form-button {
    background: #07d7b0 !important;
    color: #071613 !important;
}

body.woocommerce-checkout .orderable-tip__custom-form {
    gap: 10px;
    margin-top: 10px !important;
}

body.woocommerce-checkout .orderable-tip__amount-wrap {
    flex: 1 1 auto;
    width: auto !important;
}

body.woocommerce-checkout .payment_methods,
body.woocommerce-checkout .wc_payment_methods {
    background: transparent !important;
    border: 0 !important;
    list-style: none;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-checkout #payment .payment_methods > li {
    background: #242424 !important;
    border: 1px solid #333 !important;
    border-radius: 7px;
    color: #fff !important;
    margin: 0 0 10px !important;
    padding: 12px !important;
}

body.woocommerce-checkout #payment .payment_box {
    background: transparent !important;
    color: #cfcfcf !important;
    font-size: 13px;
    margin: 8px 0 0 !important;
    padding: 0 !important;
}

body.woocommerce-checkout #payment .payment_box:before {
    display: none !important;
}

body.woocommerce-checkout #payment .place-order {
    margin: 12px 0 0 !important;
    padding: 0 !important;
}

body.woocommerce-checkout #place_order {
    align-items: center;
    background: #07d7b0 !important;
    border: 0 !important;
    border-radius: 7px !important;
    box-shadow: none !important;
    color: #071613 !important;
    display: flex !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    gap: 12px;
    justify-content: space-between;
    line-height: 1 !important;
    min-height: 50px;
    padding: 0 14px !important;
    text-align: center;
    width: 100%;
}

body.woocommerce-checkout #place_order .hps-place-order-count {
    align-items: center;
    background: #102622;
    border-radius: 5px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 13px;
    height: 28px;
    justify-content: center;
    min-width: 28px;
    padding: 0 7px;
}

body.woocommerce-checkout #place_order .hps-place-order-label {
    flex: 1 1 auto;
    text-align: center;
}

body.woocommerce-checkout #place_order .hps-place-order-total {
    flex: 0 0 auto;
    min-width: 78px;
    text-align: right;
}

body.woocommerce-checkout .hps-checkout-policy {
    color: #d7d7d7;
    font-size: 14px;
    line-height: 1.45;
    margin-top: 14px !important;
}

body.woocommerce-checkout .hps-checkout-policy p {
    margin: 0 0 12px;
}

body.woocommerce-checkout .hps-checkout-policy p:last-child {
    margin-bottom: 0;
}

body.woocommerce-checkout .hps-checkout-policy a {
    color: #fff !important;
    font-weight: 800;
    text-decoration: none;
}

body.woocommerce-checkout .woocommerce-privacy-policy-text {
    color: #d7d7d7;
    font-size: 13px;
    line-height: 1.45;
}

body.woocommerce-checkout .woocommerce-privacy-policy-text a {
    color: #fff !important;
    font-weight: 800;
}

body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message {
    background: #242424 !important;
    border: 1px solid #3a3a3a !important;
    border-radius: 8px;
    box-sizing: border-box;
    color: #fff !important;
    margin: 0 auto 16px !important;
    max-width: 560px;
    width: min(560px, calc(100% - 24px));
}

body.woocommerce-checkout .woocommerce-error {
    border-color: rgba(255, 86, 100, 0.65) !important;
}

body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message {
    border-color: rgba(7, 215, 176, 0.45) !important;
}

@media (max-width: 900px) {
    body.woocommerce-checkout .orderable-checkout__form {
        display: flex !important;
        flex-direction: column;
        gap: 16px;
    }

    body.woocommerce-checkout .checkout_right_section,
    body.woocommerce-checkout .checkout_left_section {
        order: initial;
        position: static;
        width: 100%;
    }

    body.woocommerce-checkout .checkout_right_section {
        order: 1;
    }

    body.woocommerce-checkout .checkout_left_section {
        order: 2;
    }
}

@media (max-width: 640px) {
    body.woocommerce-checkout .pos-checkout-page-active .site-main {
        padding: 14px 8px max(24px, env(safe-area-inset-bottom)) !important;
    }

    body.woocommerce-checkout .woocommerce-billing-fields,
    body.woocommerce-checkout .woocommerce-additional-fields,
    body.woocommerce-checkout .woocommerce-shipping-fields,
    body.woocommerce-checkout .woocommerce-account-fields,
    body.woocommerce-checkout #payment,
    body.woocommerce-checkout .hps-checkout-policy {
        padding: 14px !important;
    }

    body.woocommerce-checkout .orderable-checkout__order-review tr {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    body.woocommerce-checkout .orderable-checkout__order-review th,
    body.woocommerce-checkout .orderable-checkout__order-review td {
        padding: 12px !important;
    }

    body.woocommerce-checkout .orderable-checkout__cart-item-image,
    body.woocommerce-checkout .orderable-checkout__cart-item-image img {
        height: 64px;
        width: 64px;
    }

    body.woocommerce-checkout #payment .place-order {
        background: transparent !important;
        border-top: 0 !important;
        bottom: auto !important;
        box-sizing: border-box;
        left: auto !important;
        margin: 14px 0 0 !important;
        padding: 0 !important;
        position: static !important;
        right: auto !important;
        top: auto !important;
        z-index: auto !important;
    }
}

/* Checkout final pass: single-column Foody-style layout over Orderable Checkout Pro. */
body.woocommerce-checkout .orderable-checkout {
    max-width: 560px !important;
    padding: 0 !important;
}

body.woocommerce-checkout .orderable-checkout form.checkout {
    margin: 0 !important;
    width: 100% !important;
}

body.woocommerce-checkout .orderable-checkout__form {
    align-items: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    grid-template-columns: none !important;
    width: 100% !important;
}

body.woocommerce-checkout .orderable-checkout__form .checkout_right_section,
body.woocommerce-checkout .orderable-checkout__form .checkout_left_section {
    align-self: stretch !important;
    box-sizing: border-box !important;
    display: block !important;
    margin: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
    padding: 0 !important;
    position: static !important;
    top: auto !important;
    width: 100% !important;
}

body.woocommerce-checkout .orderable-checkout__form .checkout_right_section {
    order: 1 !important;
}

body.woocommerce-checkout .orderable-checkout__form .checkout_left_section {
    order: 2 !important;
}

body.woocommerce-checkout .hps-checkout__form > .hps-checkout-order {
    order: 1 !important;
}

body.woocommerce-checkout .hps-checkout__form > .hps-checkout-details {
    order: 2 !important;
}

body.woocommerce-checkout .hps-checkout__form > .hps-checkout-payment {
    order: 3 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order > h3,
body.woocommerce-checkout .orderable-checkout-section--payment > h3 {
    display: none !important;
}

body.woocommerce-checkout .checkout_right_section:before,
body.woocommerce-checkout .orderable-checkout-section--payment:before,
body.woocommerce-checkout .hps-checkout-policy:before {
    color: #fff !important;
    display: block;
    font-size: 17px;
    font-weight: 850;
    line-height: 1.25;
    margin: 0 0 12px;
}

body.woocommerce-checkout .orderable-checkout-section--payment:before {
    content: "Payment method";
}

body.woocommerce-checkout .hps-checkout-policy:before {
    content: "Before you order";
}

body.woocommerce-checkout .skip-link,
body.woocommerce-checkout .screen-reader-text.skip-link {
    clip: rect(1px, 1px, 1px, 1px) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 1px !important;
}

body.woocommerce-checkout .skip-link:focus,
body.woocommerce-checkout .screen-reader-text.skip-link:focus {
    clip: auto !important;
    clip-path: none !important;
    height: auto !important;
    left: 12px !important;
    margin: 0 !important;
    overflow: visible !important;
    padding: 8px 12px !important;
    position: fixed !important;
    top: 12px !important;
    width: auto !important;
    z-index: 100000 !important;
}

body.woocommerce-checkout .checkout_left_section:before {
    display: none !important;
}

body.woocommerce-checkout #customer_details:before {
    color: #fff;
    content: "Your details";
    display: block;
    font-size: 17px;
    font-weight: 850;
    line-height: 1.25;
    margin: 0 0 12px;
}

body.woocommerce-checkout .checkout_left_section .orderable-checkout-section {
    margin: 0 0 14px !important;
}

body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-account-fields,
body.woocommerce-checkout #payment,
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout .orderable-checkout-section--payment,
body.woocommerce-checkout .hps-checkout-policy {
    background: #202020 !important;
    border: 1px solid #303030 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    color: #fff !important;
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout .orderable-checkout-section--payment {
    padding: 16px !important;
}

body.woocommerce-checkout #customer_details .woocommerce-billing-fields,
body.woocommerce-checkout #customer_details .woocommerce-additional-fields,
body.woocommerce-checkout #customer_details .woocommerce-shipping-fields,
body.woocommerce-checkout #customer_details .woocommerce-account-fields {
    background: transparent !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-checkout #customer_details .orderable-checkout-section,
body.woocommerce-checkout #customer_details .woocommerce-billing-fields,
body.woocommerce-checkout #customer_details .woocommerce-additional-fields {
    margin-bottom: 16px !important;
}

body.woocommerce-checkout #customer_details > :last-child,
body.woocommerce-checkout #customer_details .woocommerce-additional-fields {
    margin-bottom: 0 !important;
}

body.woocommerce-checkout #order_comments_field label {
    clip: auto !important;
    clip-path: none !important;
    display: block !important;
    height: auto !important;
    margin: 0 0 6px !important;
    overflow: visible !important;
    position: static !important;
    width: auto !important;
}

body.woocommerce-checkout .form-row.form-row-first,
body.woocommerce-checkout .form-row.form-row-last,
body.woocommerce-checkout .orderable-checkout__shipping-table td.form-row-first,
body.woocommerce-checkout .orderable-checkout__shipping-table td.form-row-last {
    clear: none !important;
    float: none !important;
    margin-right: 0 !important;
    width: 100% !important;
}

@media (min-width: 560px) {
    body.woocommerce-checkout #billing_first_name_field,
    body.woocommerce-checkout #billing_last_name_field {
        width: calc(50% - 7px) !important;
    }

    body.woocommerce-checkout #billing_first_name_field {
        float: left !important;
        margin-right: 14px !important;
    }

    body.woocommerce-checkout #billing_last_name_field {
        float: left !important;
    }

    body.woocommerce-checkout #billing_phone_field {
        clear: both !important;
    }
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table,
body.woocommerce-checkout .orderable-checkout__order-review {
    background: #202020 !important;
    border: 1px solid #303030 !important;
    border-collapse: separate !important;
    border-radius: 8px !important;
    border-spacing: 0 !important;
    box-shadow: none !important;
    display: block !important;
    margin: 0 !important;
    overflow: hidden !important;
    width: 100% !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table thead,
body.woocommerce-checkout .orderable-checkout__order-review thead {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot,
body.woocommerce-checkout .orderable-checkout__order-review tbody,
body.woocommerce-checkout .orderable-checkout__order-review tfoot {
    background: #202020 !important;
    display: block !important;
    width: 100% !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table tr,
body.woocommerce-checkout .orderable-checkout__order-review tr {
    background: #202020 !important;
    border: 0 !important;
    border-bottom: 1px solid #343434 !important;
    box-sizing: border-box !important;
    display: flex !important;
    gap: 12px !important;
    justify-content: space-between !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table tr:last-child,
body.woocommerce-checkout .orderable-checkout__order-review tr:last-child {
    border-bottom: 0 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart-item,
body.woocommerce-checkout .orderable-checkout__order-review tbody tr.cart-item {
    align-items: flex-start !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td,
body.woocommerce-checkout .orderable-checkout__order-review th,
body.woocommerce-checkout .orderable-checkout__order-review td {
    background: transparent !important;
    border: 0 !important;
    box-sizing: border-box !important;
    color: #fff !important;
    display: block !important;
    float: none !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    padding: 13px 14px !important;
    text-align: left !important;
    vertical-align: top !important;
    width: auto !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart-item .product-name,
body.woocommerce-checkout .orderable-checkout__order-review tbody tr.cart-item .product-name {
    min-width: 0 !important;
    padding-right: 0 !important;
    width: auto !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart-item .product-total,
body.woocommerce-checkout .orderable-checkout__order-review tbody tr.cart-item .product-total {
    align-self: center !important;
    font-weight: 850 !important;
    min-width: 84px !important;
    padding-left: 0 !important;
    text-align: right !important;
    white-space: nowrap !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td,
body.woocommerce-checkout .orderable-checkout__order-review tfoot th,
body.woocommerce-checkout .orderable-checkout__order-review tfoot td {
    color: #f5f5f5 !important;
    font-weight: 750 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td,
body.woocommerce-checkout .orderable-checkout__order-review tfoot td {
    text-align: right !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td,
body.woocommerce-checkout .orderable-checkout__order-review .order-total th,
body.woocommerce-checkout .orderable-checkout__order-review .order-total td {
    font-size: 16px !important;
    font-weight: 900 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .hlvl-order-review-location,
body.woocommerce-checkout .orderable-checkout__order-review .hlvl-order-review-location {
    background: #232323 !important;
    display: block !important;
    padding: 13px 14px !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .hlvl-order-review-location th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .hlvl-order-review-location td,
body.woocommerce-checkout .orderable-checkout__order-review .hlvl-order-review-location th,
body.woocommerce-checkout .orderable-checkout__order-review .hlvl-order-review-location td {
    display: block !important;
    padding: 0 !important;
    text-align: left !important;
    white-space: normal !important;
    width: 100% !important;
    word-break: normal !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .hlvl-order-review-location th,
body.woocommerce-checkout .orderable-checkout__order-review .hlvl-order-review-location th {
    color: #bdbdbd !important;
    font-size: 12px !important;
    margin-bottom: 4px !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .hlvl-order-review-location td,
body.woocommerce-checkout .orderable-checkout__order-review .hlvl-order-review-location td {
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 850 !important;
}

body.woocommerce-checkout .orderable-checkout__cart-item {
    align-items: flex-start !important;
    display: flex !important;
    flex-direction: row-reverse !important;
    gap: 12px !important;
    min-width: 0 !important;
}

body.woocommerce-checkout .orderable-checkout__cart-item-image {
    display: block !important;
    flex: 0 0 64px !important;
    height: 64px !important;
    margin: 0 !important;
    max-width: none !important;
}

body.woocommerce-checkout .orderable-checkout__cart-item-image img {
    border-radius: 7px !important;
    height: 64px !important;
    object-fit: cover !important;
    width: 64px !important;
}

body.woocommerce-checkout .orderable-checkout__cart-item-data {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation,
body.woocommerce-checkout .orderable-checkout__order-review dl.variation {
    float: none !important;
    margin: 4px 0 0 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation dt,
body.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation dd,
body.woocommerce-checkout .orderable-checkout__order-review dl.variation dt,
body.woocommerce-checkout .orderable-checkout__order-review dl.variation dd {
    clear: none !important;
    color: #d7d7d7 !important;
    display: inline !important;
    float: none !important;
    font-size: 13px !important;
    margin: 0 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation dd:after,
body.woocommerce-checkout .orderable-checkout__order-review dl.variation dd:after {
    content: "\A";
    white-space: pre;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table strong,
body.woocommerce-checkout .orderable-checkout__order-review strong {
    color: #fff !important;
    font-weight: 850 !important;
}

body.woocommerce-checkout .orderable-tip-row {
    background: #202020 !important;
    display: block !important;
}

body.woocommerce-checkout .orderable-tip-row td {
    display: block !important;
    padding: 0 !important;
    width: 100% !important;
}

body.woocommerce-checkout #orderable-tip {
    margin: 0 !important;
}

body.woocommerce-checkout .orderable-tip__row {
    display: flex !important;
    gap: 8px !important;
}

body.woocommerce-checkout .orderable-tip__button {
    margin: 0 !important;
    width: auto !important;
}

body.woocommerce-checkout .orderable-tip__custom-form {
    align-items: center !important;
    display: flex !important;
    gap: 10px !important;
    margin-top: 10px !important;
}

body.woocommerce-checkout .orderable-tip__custom-form:not(.orderable-tip__custom-form--active) {
    display: none !important;
}

body.woocommerce-checkout .orderable-tip__custom-form-field,
body.woocommerce-checkout #orderable_tip_amount {
    -webkit-text-fill-color: #fff !important;
    background: #242424 !important;
    border: 1px solid #d8d8d8 !important;
    color: #fff !important;
    flex: 1 1 auto !important;
    font-size: 15px !important;
    height: 42px !important;
    min-height: 42px !important;
    opacity: 1 !important;
    width: auto !important;
}

body.woocommerce-checkout .orderable-tip__currency {
    color: #fff !important;
    opacity: 1 !important;
}

body.woocommerce-checkout #payment.woocommerce-checkout-payment,
body.woocommerce-checkout #payment.woocommerce-checkout-payment .payment_box,
body.woocommerce-checkout #payment .payment_methods,
body.woocommerce-checkout #payment .wc_payment_methods,
body.woocommerce-checkout #payment .payment_methods > li:not(.woocommerce-notice),
body.woocommerce-checkout #payment .payment_box,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-checkout .woocommerce-privacy-policy-text,
body.woocommerce-checkout .woocommerce-privacy-policy-text p {
    background: transparent !important;
    color: #d7d7d7 !important;
}

body.woocommerce-checkout #payment .payment_methods {
    border: 0 !important;
    margin: 0 !important;
}

body.woocommerce-checkout #payment .payment_methods > li:not(.woocommerce-notice) {
    background: #242424 !important;
    border: 1px solid #383838 !important;
    border-radius: 7px !important;
    padding: 12px !important;
}

body.woocommerce-checkout #payment .payment_methods > li.wc_payment_method {
    cursor: default;
    position: relative;
}

body.woocommerce-checkout #payment .payment_methods > li.wc_payment_method input[type="radio"] {
    clip: auto !important;
    display: inline-block !important;
    height: 18px !important;
    left: auto !important;
    margin: 0 10px 0 0 !important;
    opacity: 1 !important;
    position: static !important;
    top: auto !important;
    vertical-align: middle !important;
    width: 18px !important;
    accent-color: #07d7b0;
}

body.woocommerce-checkout #payment .payment_methods > li.wc_payment_method:has(input[type="radio"]:checked) {
    border-color: #07d7b0 !important;
    box-shadow: 0 0 0 1px rgba(7, 215, 176, 0.35) inset !important;
}

body.woocommerce-checkout #payment .payment_methods > li:not(.woocommerce-notice) label,
body.woocommerce-checkout #payment .payment_methods > li:not(.woocommerce-notice) label * {
    color: #fff !important;
    line-height: 1.35 !important;
}

body.woocommerce-checkout #payment .payment_methods > li.wc_payment_method input[type="radio"] + label:before,
body.woocommerce-checkout #payment .payment_methods > li.wc_payment_method input[type="radio"] + label:after {
    content: none !important;
    display: none !important;
}

body.woocommerce-checkout #payment .payment_methods > li.wc_payment_method input[type="radio"]:checked + label {
    color: #fff !important;
    font-weight: 850 !important;
}

body.woocommerce-checkout .woocommerce-privacy-policy-text {
    display: none !important;
}

body.woocommerce-checkout .orderable-button--place-order {
    height: auto !important;
    line-height: 1 !important;
    margin: 0 !important;
}

body.woocommerce-checkout #payment .place-order {
    background: transparent !important;
    margin-top: 14px !important;
}

body.woocommerce-checkout #payment > .hps-checkout-policy {
    margin: 14px 0 0 !important;
}

body.woocommerce-checkout .hps-checkout-policy:before {
    content: none !important;
    display: none !important;
}

body.woocommerce-checkout .hps-checkout-policy h3 {
    color: #fff !important;
    font-size: 17px !important;
    font-weight: 850 !important;
    margin: 0 0 12px !important;
}

body.woocommerce-checkout #place_order {
    height: 50px !important;
}

body.woocommerce-checkout .orderable-checkout-section--contact > h3,
body.woocommerce-checkout .orderable-checkout-section--billing > h3,
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-additional-fields > h3 {
    display: none !important;
}

body.woocommerce-checkout .orderable-placeholder--billing,
body.woocommerce-checkout .orderable-checkout-section--billing,
body.woocommerce-checkout .woocommerce-billing-fields {
    display: none !important;
}

body.woocommerce-checkout .blockUI.blockOverlay,
body.woocommerce-checkout .woocommerce .blockUI.blockOverlay,
body.woocommerce-checkout #orderable-tip .blockUI.blockOverlay {
    background: #111 !important;
    opacity: 0.28 !important;
}

body.woocommerce-checkout .hps-checkout-card__title,
body.woocommerce-checkout .hps-checkout-subtitle {
    color: #fff !important;
    font-weight: 850 !important;
}

body.woocommerce-checkout .hps-checkout-order:before,
body.woocommerce-checkout .hps-checkout-payment:before,
body.woocommerce-checkout #customer_details.hps-checkout-details:before {
    content: none !important;
    display: none !important;
}

body.woocommerce-checkout .hps-checkout-card__title {
    font-size: 17px !important;
    margin: 0 0 12px !important;
}

body.woocommerce-checkout .hps-checkout-subtitle {
    font-size: 15px !important;
    margin: 18px 0 10px !important;
}

body.woocommerce-checkout .hps-checkout-fields {
    margin: 0;
}

body.woocommerce-checkout .hps-checkout-fields--contact {
    display: grid;
    gap: 0 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.woocommerce-checkout #billing_phone_field {
    grid-column: 1 / -1;
}

body.woocommerce-checkout #order_comments_field {
    margin-bottom: 0 !important;
}

body.woocommerce-checkout .hps-checkout-fields--contact #billing_first_name_field {
    order: 1;
}

body.woocommerce-checkout .hps-checkout-fields--contact #billing_last_name_field {
    order: 2;
}

body.woocommerce-checkout .hps-checkout-fields--contact #billing_phone_field {
    grid-column: 1 / -1;
    order: 3;
}

body.woocommerce-checkout .hps-checkout-fields--contact #billing_email_field {
    display: block !important;
    grid-column: 1 / -1;
    order: 4;
}

body.woocommerce-checkout .hps-checkout-location {
    background: #242424;
    border: 1px solid #343434;
    border-radius: 7px;
    box-sizing: border-box;
    margin: 2px 0 16px;
    padding: 12px;
}

body.woocommerce-checkout .hps-checkout-location__label {
    color: #bdbdbd;
    display: block;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.25;
    margin-bottom: 5px;
}

body.woocommerce-checkout .hps-checkout-location__label:before {
    background: #ff5664;
    border-radius: 999px;
    content: "";
    display: inline-block;
    height: 8px;
    margin-right: 7px;
    vertical-align: middle;
    width: 8px;
}

body.woocommerce-checkout .hps-checkout-location__name {
    color: #fff;
    display: block;
    font-size: 15px;
    font-weight: 850;
    line-height: 1.3;
}

body.woocommerce-checkout .hps-checkout-location .hlvl-checkout-refinement {
    border-top: 1px solid #343434;
    margin-top: 12px;
    padding-top: 12px;
}

body.woocommerce-checkout .hps-checkout-location .hlvl-checkout-refinement .form-row {
    margin-bottom: 0 !important;
}

body.woocommerce-checkout .hps-checkout-location .hlvl-checkout-refinement label {
    color: #d8d8d8 !important;
    display: block;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.35;
    margin: 0 0 7px;
}

body.woocommerce-checkout .hps-checkout-location .hlvl-checkout-refinement input.input-text {
    background: #1f1f1f !important;
}

body.woocommerce-checkout .hps-checkout-review .hlvl-order-review-location {
    display: none !important;
}

body.woocommerce-checkout .hps-checkout-review tfoot .orderable-tip-row {
    background: #202020 !important;
    border-bottom: 1px solid #343434 !important;
    display: block !important;
}

body.woocommerce-checkout .hps-checkout-review tfoot .orderable-tip-row td {
    display: block !important;
    padding: 14px !important;
    width: 100% !important;
}

body.woocommerce-checkout .hps-checkout-review #orderable-tip {
    background: transparent !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-checkout .hps-checkout-review .orderable-tip__custom-form.orderable-tip__custom-form--active {
    align-items: center !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: minmax(0, 1fr) minmax(112px, 140px) !important;
    margin-top: 10px !important;
    overflow: visible !important;
    width: 100% !important;
}

body.woocommerce-checkout .hps-checkout-review .orderable-tip__amount-wrap,
body.woocommerce-checkout .hps-checkout-review .orderable-tip__custom-form-button {
    margin: 0 !important;
    min-width: 0 !important;
    width: 100% !important;
}

body.woocommerce-checkout .hps-checkout-review .orderable-tip__custom-form-button {
    height: 42px !important;
    min-height: 42px !important;
}

/* Owned checkout endpoints: order received, failed payment, and order-pay. */
body.woocommerce-checkout .hps-endpoint {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin: 0 auto;
    max-width: 560px;
    width: 100%;
}

body.woocommerce-checkout .hps-checkout-card {
    background: #202020 !important;
    border: 1px solid #303030 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    box-sizing: border-box;
    color: #fff !important;
    padding: 16px !important;
}

body.woocommerce-checkout .hps-endpoint-status p,
body.woocommerce-checkout .hps-checkout-policy p {
    color: #d7d7d7 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    margin: 0 0 12px !important;
}

body.woocommerce-checkout .hps-endpoint-status p:last-child,
body.woocommerce-checkout .hps-checkout-policy p:last-child {
    margin-bottom: 0 !important;
}

body.woocommerce-checkout .hps-endpoint-status--success {
    border-color: rgba(7, 215, 176, 0.55) !important;
}

body.woocommerce-checkout .hps-endpoint-status--failed {
    border-color: rgba(255, 86, 100, 0.65) !important;
}

body.woocommerce-checkout .hps-order-overview {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.woocommerce-checkout .hps-order-overview__item,
body.woocommerce-checkout .hps-endpoint-detail {
    min-width: 0;
}

body.woocommerce-checkout .hps-order-overview__item span,
body.woocommerce-checkout .hps-endpoint-detail span {
    color: #bdbdbd;
    display: block;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.25;
    margin-bottom: 5px;
}

body.woocommerce-checkout .hps-order-overview__item strong,
body.woocommerce-checkout .hps-endpoint-detail strong {
    color: #fff;
    display: block;
    font-size: 15px;
    font-weight: 850;
    line-height: 1.3;
    overflow-wrap: break-word;
    word-break: normal;
}

body.woocommerce-checkout .hps-order-overview__item--total strong,
body.woocommerce-checkout .hps-order-overview__item--payment strong {
    display: inline-block;
    min-width: max-content;
    white-space: nowrap;
}

body.woocommerce-checkout .hps-order-overview__item--total {
    min-width: 88px;
}

body.woocommerce-checkout .hps-checkout-review__item-total,
body.woocommerce-checkout .hps-checkout-review__item-total .product-quantity {
    white-space: nowrap !important;
}

body.woocommerce-checkout .hps-endpoint-order-details .hps-checkout-card__title,
body.woocommerce-checkout .hps-endpoint-customer-details .hps-checkout-card__title {
    margin-bottom: 12px !important;
}

body.woocommerce-checkout .hps-endpoint-order-table {
    margin: 0 !important;
}

body.woocommerce-checkout .hps-endpoint-order-table .product-purchase-note {
    display: block !important;
}

body.woocommerce-checkout .hps-endpoint-order-table .product-purchase-note td {
    color: #d7d7d7 !important;
    display: block !important;
    padding: 12px 14px !important;
    width: 100% !important;
}

body.woocommerce-checkout .hps-endpoint-detail-list {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.woocommerce-checkout .hps-endpoint-detail-list .hps-endpoint-detail:last-child:nth-child(odd) {
    grid-column: 1 / -1;
}

body.woocommerce-checkout .hps-endpoint-actions {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 1fr;
    margin-top: 16px;
}

body.woocommerce-checkout .hps-endpoint-button,
body.woocommerce-checkout .hps-endpoint-button:visited {
    align-items: center;
    border-radius: 7px !important;
    box-shadow: none !important;
    display: inline-flex !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    justify-content: center;
    min-height: 44px;
    padding: 0 14px !important;
    text-align: center;
    text-decoration: none !important;
}

body.woocommerce-checkout .hps-endpoint-button--primary {
    background: #07d7b0 !important;
    color: #071613 !important;
}

body.woocommerce-checkout .hps-endpoint-button--secondary {
    background: #2b2b2b !important;
    border: 2px solid #07d7b0 !important;
    color: #fff !important;
}

body.woocommerce-checkout .hps-endpoint-button--secondary:hover,
body.woocommerce-checkout .hps-endpoint-button--secondary:focus,
body.woocommerce-checkout .hps-endpoint-button--secondary:active {
    background: #07d7b0 !important;
    border-color: #07d7b0 !important;
    color: #071613 !important;
}

body.woocommerce-checkout .hps-order-pay #payment .place-order {
    margin-top: 14px !important;
}

body.woocommerce-checkout .hps-order-pay .woocommerce-terms-and-conditions-wrapper {
    display: block !important;
}

body.woocommerce-checkout .hps-guest-checkout-policies {
    border: 0;
    margin: 0;
    padding: 0;
}

body.woocommerce-checkout .hps-guest-checkout-policy {
    margin: 0 0 12px !important;
    padding: 16px !important;
}

body.woocommerce-checkout .hps-guest-checkout-policy h3 {
    font-size: 16px !important;
    line-height: 1.3 !important;
    margin-bottom: 10px !important;
}

body.woocommerce-checkout .hps-guest-checkout-policy p {
    font-size: 13px !important;
    line-height: 1.5 !important;
    margin: 0 0 8px !important;
}

body.woocommerce-checkout .hps-guest-checkout-policy a {
    color: #fff !important;
    font-weight: 800;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

body.woocommerce-checkout .hps-guest-checkout-policy__notice {
    color: #bdbdbd !important;
}

.hps-allergen-notice {
    background: #fff7df;
    border: 2px solid #d99a00;
    border-radius: 8px;
    color: #2b2108;
    margin: 0 0 18px;
    padding: 14px 16px;
}

.hps-allergen-notice h3 {
    color: #5c3c00;
    font-size: 17px;
    margin: 0 0 8px;
}

.hps-allergen-notice p {
    color: inherit;
    margin: 0 0 8px;
}

.hps-allergen-notice p:last-child {
    margin-bottom: 0;
}

body.woocommerce-checkout .hps-checkout-allergen-warning {
    margin-top: 14px;
}

body.woocommerce-checkout .hps-checkout-allergen-warning .hps-allergen-notice {
    background: #30260d;
    border-color: #e2aa20;
    color: #fff4cf;
    margin: 0;
    padding: 12px;
}

body.woocommerce-checkout .hps-checkout-allergen-warning .hps-allergen-notice h3 {
    color: #ffd978;
    font-size: 15px !important;
    margin-bottom: 7px !important;
}

body.woocommerce-checkout .hps-checkout-allergen-warning .hps-allergen-notice p {
    color: inherit !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    margin-bottom: 7px !important;
}

body.woocommerce-checkout .hps-guest-checkout-policy--invalid {
    border-color: #ff6678 !important;
}

body.woocommerce-checkout .hps-guest-checkout-policy__error {
    background: #321b20;
    border: 1px solid #ff6678;
    border-radius: 6px;
    color: #fff;
    font-size: 13px;
    line-height: 1.45;
    margin: 12px 0 0;
    padding: 10px 12px;
}

body.woocommerce-checkout .hps-guest-checkout-policy__error[hidden] {
    display: none !important;
}

body.woocommerce-checkout .hps-guest-checkout-policy .hps-guest-checkout-policy__acceptance {
    border-top: 1px solid #383838;
    margin: 12px 0 0 !important;
    padding: 12px 0 0 !important;
}

body.woocommerce-checkout .hps-guest-checkout-policy__acceptance label {
    align-items: flex-start;
    cursor: pointer;
    display: flex !important;
    gap: 9px;
    margin: 0 !important;
}

body.woocommerce-checkout .hps-guest-checkout-policy__acceptance input[type="checkbox"] {
    accent-color: #07d7b0;
    clip: auto !important;
    display: block !important;
    flex: 0 0 18px;
    height: 18px !important;
    left: auto !important;
    margin: 1px 0 0 !important;
    opacity: 1 !important;
    position: static !important;
    width: 18px !important;
}

body.woocommerce-checkout .hps-guest-checkout-policy__acceptance .woocommerce-terms-and-conditions-checkbox-text {
    color: #f3f3f3 !important;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.45;
}

body.woocommerce-checkout .hps-guest-checkout-policy__acceptance .required {
    color: #ff6678 !important;
    margin-left: 2px;
    text-decoration: none;
}

body.woocommerce-checkout #payment .place-order > #place_order {
    margin-top: 0 !important;
}

body.hps-policy-modal-open {
    overflow: hidden !important;
}

.hps-policy-modal[hidden] {
    display: none !important;
}

.hps-policy-modal {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 20px;
    position: fixed;
    z-index: 100000;
}

.hps-policy-modal__backdrop {
    background: rgba(0, 0, 0, 0.78);
    border: 0;
    cursor: default;
    inset: 0;
    padding: 0;
    position: absolute;
    width: 100%;
}

.hps-policy-modal__dialog {
    background: #191919;
    border: 1px solid #383838;
    border-radius: 8px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.55);
    color: #e6e6e6;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 40px);
    max-height: calc(100dvh - 40px);
    overflow: hidden;
    position: relative;
    width: min(760px, 100%);
}

.hps-policy-modal__header {
    align-items: center;
    border-bottom: 1px solid #303030;
    display: flex;
    flex: 0 0 auto;
    gap: 16px;
    justify-content: space-between;
    padding: 14px 16px;
}

.hps-policy-modal__vendor {
    align-items: center;
    display: flex;
    gap: 12px;
    min-width: 0;
}

.hps-policy-modal__vendor img {
    border-radius: 50%;
    display: block;
    flex: 0 0 42px;
    height: 42px;
    object-fit: cover;
    width: 42px;
}

.hps-policy-modal__vendor div {
    min-width: 0;
}

.hps-policy-modal__vendor strong,
.hps-policy-modal__vendor span {
    display: block;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.hps-policy-modal__vendor strong {
    color: #fff;
    font-size: 15px;
    line-height: 1.25;
}

.hps-policy-modal__vendor span {
    color: #bdbdbd;
    font-size: 13px;
    line-height: 1.35;
    margin-top: 2px;
}

.hps-policy-modal__close {
    align-items: center;
    background: #292929;
    border: 1px solid #424242;
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 40px;
    font-size: 26px;
    height: 40px;
    justify-content: center;
    line-height: 1;
    padding: 0 0 3px;
    width: 40px;
}

.hps-policy-modal__close:hover,
.hps-policy-modal__close:focus-visible {
    background: #363636;
    border-color: #07d7b0;
    outline: 0;
}

.hps-policy-modal__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: 22px;
}

.hps-policy-modal__body:focus-visible {
    outline: 2px solid #07d7b0;
    outline-offset: -2px;
}

.hps-policy-modal__content {
    color: #dedede;
    font-size: 14px;
    line-height: 1.6;
}

.hps-policy-modal__content h1,
.hps-policy-modal__content h2,
.hps-policy-modal__content h3 {
    color: #fff;
    letter-spacing: 0;
}

.hps-policy-modal__content h1 {
    font-size: 24px;
}

.hps-policy-modal__content h2 {
    font-size: 18px;
    margin: 24px 0 10px;
}

.hps-policy-modal__content h2:first-child {
    margin-top: 0;
}

.hps-policy-modal__content h3 {
    font-size: 16px;
}

/* Keep the pale allergen panel legible inside the otherwise dark policy modal. */
body.woocommerce-checkout .hps-policy-modal__content .hps-allergen-notice {
    color: #2b2108 !important;
}

body.woocommerce-checkout .hps-policy-modal__content .hps-allergen-notice h3 {
    color: #5c3c00 !important;
    font-size: 17px !important;
    margin: 0 0 8px !important;
}

body.woocommerce-checkout .hps-policy-modal__content .hps-allergen-notice p {
    color: #2b2108 !important;
}

.hps-policy-modal__content a {
    color: #07d7b0 !important;
}

.hps-policy-modal__footer {
    border-top: 1px solid #303030;
    display: flex;
    flex: 0 0 auto;
    justify-content: flex-end;
    padding: 12px 16px;
}

body.woocommerce-checkout .hps-policy-modal__return {
    background: #07d7b0 !important;
    border: 1px solid #07d7b0 !important;
    border-radius: 6px !important;
    color: #071613 !important;
    cursor: pointer;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    min-height: 42px;
    padding: 10px 18px !important;
}

@media (max-width: 640px) {
	.hps-guest-policy-header {
		align-items: flex-start;
		flex-direction: column;
	}

	.hps-policy-modal {
		align-items: stretch;
		padding: 0;
	}

	.hps-policy-modal__dialog {
		border: 0;
		border-radius: 0;
		height: 100vh;
		height: 100dvh;
		max-height: none;
		width: 100%;
	}

	.hps-policy-modal__header {
		padding: max(12px, env(safe-area-inset-top)) 14px 12px;
	}

	.hps-policy-modal__body {
		padding: 18px;
	}

	.hps-policy-modal__footer {
		padding: 12px 14px max(12px, env(safe-area-inset-bottom));
	}

	body.woocommerce-checkout .hps-policy-modal__return {
		width: 100%;
	}

    body.woocommerce-checkout .orderable-checkout {
        max-width: 100% !important;
    }

    body.woocommerce-checkout .hps-order-overview,
    body.woocommerce-checkout .hps-endpoint-detail-list,
    body.woocommerce-checkout .hps-endpoint-actions {
        grid-template-columns: 1fr;
    }

    body.woocommerce-checkout .hps-order-overview {
        grid-template-columns: minmax(0, 1fr) minmax(104px, auto);
    }

    body.woocommerce-checkout .hps-order-overview__item--email {
        grid-column: 1 / -1;
    }

    body.woocommerce-checkout #payment .place-order {
        background: transparent !important;
        border-top: 0 !important;
        bottom: auto !important;
        left: auto !important;
        margin: 14px 0 0 !important;
        padding: 0 !important;
        position: static !important;
        right: auto !important;
        top: auto !important;
        z-index: auto !important;
    }

    body.woocommerce-checkout .hps-checkout-fields--contact {
        display: block;
    }
}
