.lppoo-order-flow {
    margin: 1.25rem 0;
    padding: 1.25rem;
    border: 2px solid #c8b28a;
    border-radius: 8px;
    background: #fffdf9;
    box-shadow: 0 2px 10px rgba(38, 28, 18, .06);
}

.lppoo-order-flow form.cart,
.lppoo-order-flow form.variations_form {
    margin: 0;
    display: block !important;
}

.lppoo-order-flow-intro {
    margin-bottom: .9rem;
}

.lppoo-start-instruction {
    margin: 0 0 .65rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: #2d241b;
}

.lppoo-step-title {
    display: inline-block;
    margin: 0 0 .35rem;
    font-size: .98rem;
    font-weight: 700;
    line-height: 1.35;
    color: #2d241b;
}

.lppoo-step-one {
    margin-bottom: .25rem;
}

.lppoo-step-guidance {
    margin: 0;
    color: #675849;
}

.lppoo-order-flow .variations {
    width: 100%;
    margin: 0 0 1rem;
}

.lppoo-order-flow .variations th,
.lppoo-order-flow .variations td {
    display: block;
    width: 100%;
    padding: 0;
    text-align: left;
}

.lppoo-order-flow .variations th.label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.lppoo-order-flow .variations select,
.lppoo-pickup-fields input,
.lppoo-pickup-fields select,
.lppoo-large-order-panel input,
.lppoo-large-order-panel textarea {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-height: 46px;
    padding: .7rem .8rem;
    border: 2px solid #725a3d;
    border-radius: 5px;
    background-color: #fff;
    color: #241c15;
    font-size: 16px;
    line-height: 1.25;
}

.lppoo-order-flow .variations select {
    appearance: auto;
    -webkit-appearance: menulist;
    cursor: pointer;
}

.lppoo-order-flow .variations .reset_variations {
    display: inline-block;
    margin-top: .45rem;
}

.lppoo-pickup-fields {
    margin: 1rem 0;
    padding: 1rem 0 0;
    border: 0;
    border-top: 1px solid #dfd3c2;
    background: transparent;
}

.lppoo-pickup-fields .form-row {
    margin-bottom: 1rem;
}

.lppoo-pickup-fields small {
    display: block;
    margin-top: .35rem;
    line-height: 1.4;
    color: #675849;
}

.lppoo-selected-date {
    display: block;
    min-height: 1.4em;
    margin-top: .45rem;
    color: #2d241b;
}

.lppoo-selected-date:empty {
    display: none;
}

.lppoo-product-pickup-location {
    display: grid;
    gap: .15rem;
    margin: .25rem 0 1rem;
    padding: .85rem 1rem;
    border-left: 4px solid #725a3d;
    background: #f4eee5;
    color: #2d241b;
    line-height: 1.4;
}

.lppoo-order-flow input:disabled,
.lppoo-order-flow select:disabled,
.lppoo-order-flow button:disabled {
    cursor: not-allowed;
    opacity: .58;
    background-color: #eeeae4;
}

.lppoo-field-error {
    border-color: #a12622 !important;
    box-shadow: 0 0 0 2px rgba(161, 38, 34, .12);
}

.lppoo-availability {
    margin: .45rem 0 0;
    font-weight: 700;
    color: #245c2a;
}

.lppoo-pickup-error {
    margin: .4rem 0 0;
    font-weight: 700;
    color: #a12622;
}

.lppoo-pickup-error:empty {
    display: none;
}

.lppoo-quantity-step {
    display: block;
    clear: both;
    margin-top: 1rem;
}

.lppoo-order-flow .quantity {
    display: inline-flex !important;
    float: none !important;
    vertical-align: middle;
    margin-bottom: .8rem;
}

.lppoo-order-flow .single_add_to_cart_button {
    float: none !important;
    margin: 0 0 .8rem .75rem;
    vertical-align: middle;
}

.lppoo-large-order {
    clear: both;
    margin: 1rem 0;
}

.lppoo-large-order-panel[hidden],
.lppoo-large-order-form[hidden] {
    display: none !important;
}

.lppoo-large-order-panel {
    margin-top: .75rem;
    padding: 1rem;
    border: 1px solid #d8d8d8;
    border-radius: 6px;
    background: #fafafa;
}

.lppoo-large-order-form label {
    display: block;
    margin: .65rem 0;
    font-weight: 600;
}

.lppoo-large-order-form label input,
.lppoo-large-order-form label textarea {
    display: block;
    margin-top: .25rem;
    font-weight: 400;
}

.lppoo-large-order-close {
    margin-left: .5rem;
}

.lppoo-large-order-message {
    margin-top: .75rem;
}

form.cart button.single_add_to_cart_button[disabled] {
    cursor: not-allowed;
    opacity: .55;
}

.lppoo-cart-pickup-details {
    display: grid;
    gap: .3rem;
    margin-top: .35rem;
    padding: .85rem;
    border: 1px solid #c8b28a;
    border-radius: 6px;
    background: #fffaf2;
    color: #2d241b;
    font-size: .95rem;
    line-height: 1.4;
}

.lppoo-cart-pickup-details > span,
.lppoo-cart-summary > span,
.lppoo-cart-summary > strong {
    display: block;
}

.lppoo-pickup-address {
    padding-left: .85rem;
}

.lppoo-cart-pickup-details-wrap {
    display: grid !important;
    gap: .3rem;
    margin-top: .65rem !important;
    padding: .85rem !important;
    border: 1px solid #c8b28a;
    border-radius: 6px;
    background: #fffaf2;
    color: #2d241b;
    font-size: .95rem !important;
    line-height: 1.4 !important;
}

.lppoo-cart-pickup-details-wrap .wc-block-components-product-details__name {
    display: block;
    margin-bottom: .2rem;
    font-size: 1rem;
    font-weight: 700;
}

.lppoo-cart-pickup-details-wrap .wc-block-components-product-details__value {
    display: grid;
    gap: .25rem;
}

.lppoo-cart-summary {
    display: grid;
    gap: .3rem;
    box-sizing: border-box;
    width: 100%;
    margin: 0 0 1rem;
    padding: 1rem;
    border: 2px solid #725a3d;
    border-radius: 8px;
    background: #fffaf2;
    color: #2d241b;
    line-height: 1.4;
}

.lppoo-cart-summary h3 {
    margin: 0 0 .35rem;
    color: #2d241b;
    font-size: 1.2rem;
}

.lppoo-cart-schedule {
    gap: .85rem;
}

.lppoo-multiple-pickup-warning {
    margin: 0;
    padding: .75rem;
    border-left: 4px solid #a12622;
    background: #fff2ef;
    color: #7c1d19;
    font-weight: 700;
}

.lppoo-pickup-group {
    display: grid;
    gap: .25rem;
    padding-top: .85rem;
    border-top: 1px solid #c8b28a;
}

.lppoo-pickup-group h4,
.lppoo-pickup-slot h5 {
    margin: 0;
    color: #2d241b;
}

.lppoo-pickup-group h4 {
    font-size: 1.05rem;
}

.lppoo-group-location {
    font-weight: 700;
}

.lppoo-pickup-slot {
    margin-top: .55rem;
    padding: .65rem .75rem;
    border-radius: 5px;
    background: #f4eee5;
}

.lppoo-pickup-slot ul {
    margin: .4rem 0 0 1.1rem;
}

.lppoo-change-pickup {
    justify-self: start;
    margin-top: .5rem;
    padding: .45rem .75rem;
    border: 1px solid #725a3d;
    border-radius: 4px;
    background: #fff;
    color: #4a3826;
    font-weight: 700;
    cursor: pointer;
}

.lppoo-change-pickup-panel {
    display: grid;
    gap: .65rem;
    margin-top: .65rem;
    padding: .85rem;
    border: 2px solid #725a3d;
    border-radius: 6px;
    background: #fff;
}

.lppoo-change-pickup-panel label {
    display: grid;
    gap: .3rem;
    font-weight: 700;
}

.lppoo-change-pickup-panel input,
.lppoo-change-pickup-panel select {
    box-sizing: border-box;
    width: 100%;
    min-height: 44px;
    padding: .6rem;
    border: 1px solid #725a3d;
    border-radius: 4px;
    background: #fff;
    color: #241c15;
    font-size: 16px;
}

.lppoo-change-pickup-status {
    min-height: 1.4em;
    margin: 0;
    font-weight: 700;
    color: #245c2a;
}

.lppoo-change-pickup-actions {
    display: flex;
    gap: .5rem;
}

.lppoo-change-pickup-actions button {
    padding: .55rem .85rem;
}

.lppoo-line-needs-attention {
    border-color: #a12622 !important;
    box-shadow: 0 0 0 2px rgba(161, 38, 34, .12);
}

.lppoo-line-needs-attention .lppoo-change-pickup-status,
.lppoo-incomplete-pickup {
    color: #a12622;
}

@media (max-width: 600px) {
    .lppoo-order-flow,
    .lppoo-large-order-panel,
    .lppoo-cart-summary,
    .lppoo-cart-pickup-details {
        padding: .9rem;
    }

    .lppoo-order-flow .variations select,
    .lppoo-pickup-fields input,
    .lppoo-pickup-fields select {
        min-height: 48px;
    }

    .lppoo-order-flow .single_add_to_cart_button,
    .lppoo-large-order-toggle,
    .lppoo-large-order-form button {
        width: 100%;
        white-space: normal;
    }

    .lppoo-order-flow .single_add_to_cart_button {
        margin-left: 0;
    }

    .lppoo-large-order-close {
        margin: .5rem 0 0;
    }

    .lppoo-cart-pickup-details-wrap .lppoo-pickup-address {
        display: none;
    }

    .lppoo-change-pickup-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}

body.lppoo-product-no-image.single-product .product .woocommerce-product-gallery {
    display: none !important;
}

body.lppoo-product-no-image.single-product .product .summary {
    float: none !important;
    width: 100% !important;
    margin-left: 0 !important;
}

.lppoo-policy-links {
    display: grid;
    gap: .45rem;
    margin: 1rem 0;
    padding: .9rem 1rem;
    border: 1px solid #c8b28a;
    border-radius: 6px;
    background: #fffaf2;
    color: #2d241b;
}

.lppoo-policy-links > span {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.lppoo-policy-links a {
    color: #6f321f;
    font-weight: 700;
    text-decoration: underline;
}

.lppoo-hidden-placeholder-image {
    display: none !important;
}
