:root {
    --lh-pink: #B08A5A;
    --lh-gold: #B08A5A;
    --lh-black: #111;
    --lh-white: #fff;
    --lh-content-width: 1200px;
    --lh-site-padding: 40px;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    color: var(--lh-black);
    background: var(--lh-white);
}

/* Remove default Storefront sidebar */

body.page .content-area {
    width: 100%;
    float: none;
    margin-right: 0;
}

body.page .widget-area {
    display: none;
}

/* Buttons */

.button,
button,
input[type="submit"],
.added_to_cart {
    background: var(--lh-pink);
    color: var(--lh-white);
    border-radius: 0;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.button:hover,
button:hover,
input[type="submit"]:hover,
.added_to_cart:hover {
    background: var(--lh-black);
    color: var(--lh-white);
}

/* Wirral delivery / collection notice */

.bfs-shipping-notice {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 16px 18px;
    background: var(--lh-black);
    color: var(--lh-white);
    font-size: 14px;
    font-weight: 300;
    line-height: 1.55;
}

.bfs-shipping-notice strong {
    color: var(--lh-gold);
    font-weight: 700;
}

/* WooCommerce notices - brand override */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments,
.woocommerce-store-notice,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-info,
.woocommerce-page .woocommerce-error,
.woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-form-login-toggle .woocommerce-info {
    margin: 0 0 24px !important;
    padding: 15px 20px 15px 48px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--lh-gold) !important;
    color: var(--lh-white) !important;
    box-shadow: none !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}

.woocommerce-error,
.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-error {
    background: var(--lh-black) !important;
    border-left: 4px solid var(--lh-gold) !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before,
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before,
.woocommerce-page .woocommerce-message::before,
.woocommerce-page .woocommerce-info::before,
.woocommerce-page .woocommerce-error::before,
.woocommerce-form-coupon-toggle .woocommerce-info::before,
.woocommerce-form-login-toggle .woocommerce-info::before {
    top: 15px !important;
    color: var(--lh-white) !important;
}

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a,
.woocommerce .woocommerce-message a,
.woocommerce .woocommerce-info a,
.woocommerce .woocommerce-error a,
.woocommerce-page .woocommerce-message a,
.woocommerce-page .woocommerce-info a,
.woocommerce-page .woocommerce-error a,
.woocommerce-form-coupon-toggle .woocommerce-info a,
.woocommerce-form-login-toggle .woocommerce-info a {
    color: var(--lh-white) !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button,
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-error .button {
    float: right;
    margin: -4px 0 -4px 18px;
    padding: 10px 18px;
    border: 1px solid rgba(255,255,255,0.55) !important;
    background: transparent !important;
    color: var(--lh-white) !important;
    font-size: 12px;
    line-height: 1;
}

.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.woocommerce-error .button:hover,
.woocommerce .woocommerce-message .button:hover,
.woocommerce .woocommerce-info .button:hover,
.woocommerce .woocommerce-error .button:hover {
    background: var(--lh-black) !important;
    border-color: var(--lh-black) !important;
    color: var(--lh-white) !important;
}

/* Checkout and cart form controls */

.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
    color: var(--lh-black);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.45;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select,
.woocommerce-cart .cart-collaterals .cart_totals input,
.woocommerce-cart .cart-collaterals .cart_totals select {
    border: 1px solid rgba(0,0,0,0.18) !important;
    border-radius: 0 !important;
    background: var(--lh-white) !important;
    color: var(--lh-black) !important;
    box-shadow: none !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce-page form .form-row input.input-text:focus,
.woocommerce-page form .form-row textarea:focus,
.woocommerce-page form .form-row select:focus {
    border-color: var(--lh-gold) !important;
    outline: none !important;
    box-shadow: none !important;
}

.select2-container--default .select2-selection--single {
    border: 1px solid rgba(0,0,0,0.18) !important;
    border-radius: 0 !important;
    background: var(--lh-white) !important;
}

.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--lh-gold) !important;
}

/* Checkout order review */

.woocommerce-checkout-review-order-table,
.woocommerce table.shop_table,
.woocommerce-page table.shop_table {
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--lh-white);
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td,
.woocommerce table.shop_table th,
.woocommerce table.shop_table td,
.woocommerce-page table.shop_table th,
.woocommerce-page table.shop_table td {
    border-top: 1px solid rgba(0,0,0,0.06) !important;
}

.woocommerce-checkout-review-order-table thead th,
.woocommerce table.shop_table thead th,
.woocommerce-page table.shop_table thead th {
    background: #f7f7f7;
    color: var(--lh-black);
}

.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-cart .cart-collaterals .cart_totals table th {
    background: #f7f7f7;
    color: var(--lh-black);
}

/* Payment area */

.woocommerce-checkout #payment,
.woocommerce #payment,
.woocommerce-page #payment {
    border-radius: 0 !important;
    background: #f7f7f7 !important;
}

.woocommerce-checkout #payment div.payment_box,
.woocommerce #payment div.payment_box,
.woocommerce-page #payment div.payment_box {
    border-radius: 0 !important;
    background: var(--lh-white) !important;
    color: var(--lh-black) !important;
    padding: 20px !important;
}

.woocommerce-checkout #payment div.payment_box::before,
.woocommerce #payment div.payment_box::before,
.woocommerce-page #payment div.payment_box::before {
    border-bottom-color: var(--lh-white) !important;
}

.woocommerce-checkout #payment ul.payment_methods,
.woocommerce #payment ul.payment_methods,
.woocommerce-page #payment ul.payment_methods {
    border-bottom: 1px solid rgba(0,0,0,0.08) !important;
}

/* Stripe payment fields */

.woocommerce-checkout #payment #stripe-payment-data,
.woocommerce-checkout #payment .wc-stripe-upe-form,
.woocommerce-checkout #payment .wc-stripe-upe-element,
.woocommerce-checkout #payment .wc-stripe-elements-field,
.woocommerce-checkout #payment .wc-stripe-iban-element-field,
.woocommerce-checkout #payment .StripeElement,
.woocommerce-checkout #payment .stripe-card-group {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout #payment .wc-stripe-upe-element,
.woocommerce-checkout #payment .wc-stripe-elements-field,
.woocommerce-checkout #payment .wc-stripe-iban-element-field,
.woocommerce-checkout #payment .StripeElement {
    min-height: 44px !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(0,0,0,0.18) !important;
    border-radius: 0 !important;
    background: var(--lh-white) !important;
    color: var(--lh-black) !important;
}

.woocommerce-checkout #payment iframe {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Place order / checkout buttons */

#place_order,
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order,
.woocommerce a.checkout-button,
.woocommerce-page a.checkout-button,
.wc-proceed-to-checkout a.checkout-button {
    display: block;
    width: 100%;
    min-height: 44px;
    padding: 14px 18px !important;
    border: 1px solid var(--lh-gold) !important;
    border-radius: 0 !important;
    background: var(--lh-gold) !important;
    color: var(--lh-white) !important;
    box-shadow: none !important;
    box-sizing: border-box;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em;
    line-height: 1 !important;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
}

#place_order:hover,
#place_order:focus,
.woocommerce #payment #place_order:hover,
.woocommerce #payment #place_order:focus,
.woocommerce-page #payment #place_order:hover,
.woocommerce-page #payment #place_order:focus,
.woocommerce a.checkout-button:hover,
.woocommerce a.checkout-button:focus,
.woocommerce-page a.checkout-button:hover,
.woocommerce-page a.checkout-button:focus,
.wc-proceed-to-checkout a.checkout-button:hover,
.wc-proceed-to-checkout a.checkout-button:focus {
    border-color: var(--lh-black) !important;
    background: var(--lh-black) !important;
    color: var(--lh-white) !important;
}

/* Coupon form */

.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce-page form.checkout_coupon,
.woocommerce-page form.login,
.woocommerce-page form.register {
    border: 1px solid rgba(0,0,0,0.1) !important;
    border-radius: 0 !important;
    background: var(--lh-white);
}

.woocommerce form.checkout_coupon button,
.woocommerce-page form.checkout_coupon button {
    border: 1px solid var(--lh-gold) !important;
    background: var(--lh-gold) !important;
    color: var(--lh-white) !important;
    border-radius: 0 !important;
}

.woocommerce form.checkout_coupon button:hover,
.woocommerce-page form.checkout_coupon button:hover {
    border-color: var(--lh-black) !important;
    background: var(--lh-black) !important;
    color: var(--lh-white) !important;
}

/* WooCommerce block cart compatibility */

.wc-block-components-notice-banner,
.wc-block-components-notice-banner.is-info,
.wc-block-components-notice-banner.is-success {
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--lh-gold) !important;
    color: var(--lh-white) !important;
}

.wc-block-components-notice-banner.is-error {
    border: 0 !important;
    border-left: 4px solid var(--lh-gold) !important;
    border-radius: 0 !important;
    background: var(--lh-black) !important;
    color: var(--lh-white) !important;
}

.wc-block-components-notice-banner svg,
.wc-block-components-notice-banner path {
    fill: var(--lh-white) !important;
}

.wc-block-components-notice-banner a,
.wc-block-components-notice-banner .wc-forward {
    color: var(--lh-white) !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
}

/* Stripe checkout field fix */

.woocommerce-checkout #payment div.payment_box {
    display: block !important;
    width: 100% !important;
    overflow: visible !important;
}

.woocommerce-checkout #payment #stripe-payment-data,
.woocommerce-checkout #payment .wc-stripe-upe-form,
.woocommerce-checkout #payment .wc-stripe-upe-element {
    display: block !important;
    width: 100% !important;
    min-height: 180px !important;
    height: auto !important;
    overflow: visible !important;
    background: #fff !important;
}

.woocommerce-checkout #payment .wc-stripe-elements-field,
.woocommerce-checkout #payment .StripeElement {
    display: block !important;
    width: 100% !important;
    min-height: 44px !important;
    height: auto !important;
    background: #fff !important;
}

.woocommerce-checkout #payment iframe {
    display: block !important;
    width: 100% !important;
    min-height: 44px !important;
}