/**
 * StokeCo — WooCommerce Overrides
 * High-conversion checkout design inspired by Shopify / modern DTC brands
 * Ported from KitchenPro (proven with Stripe, PayPal, and WooCommerce plugins)
 */

:root {
    --wc-accent: #C17335;
    --wc-accent-hover: #A85E25;
    --wc-accent-light: rgba(193,115,53,.06);
    --wc-green: #27AE60;
    --wc-green-light: rgba(39,174,96,.08);
    --wc-red: #E53935;
    --wc-bg: #F7F4F1;
    --wc-card: #FFFFFF;
    --wc-text: #1A1A1A;
    --wc-text-secondary: #6B6B6B;
    --wc-text-muted: #999;
    --wc-border: #E5E5E5;
    --wc-border-focus: #C17335;
    --wc-input-bg: #FAFAFA;
    --wc-radius: 10px;
    --wc-radius-sm: 6px;
    --wc-shadow: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
    --wc-shadow-md: 0 4px 12px rgba(0,0,0,.08);
    --wc-font-heading: 'DM Serif Display', serif;
    --wc-font-body: 'DM Sans', sans-serif;
}

/* ─── Page Layout ─── */
.woocommerce-page .content-area--page {
    max-width: 780px;
    margin: 0 auto;
    padding: 1.5rem 1.25rem 4rem;
}

.woocommerce-page .entry__content { max-width: 100%; }

.woocommerce-page .entry__header { margin-bottom: 1.5rem; }

.woocommerce-page .entry__title {
    font-family: var(--wc-font-heading);
    font-size: 1.75rem;
    color: var(--wc-text);
    text-align: center;
    padding-bottom: 0;
}

.woocommerce-page .entry__title::after { display: none; }

/* ─── Trust Bar above checkout ─── */
.woocommerce-checkout .woocommerce::before {
    content: '🔒 Secure 256-bit SSL Encryption  ·  Free Shipping  ·  30-Day Returns';
    display: block;
    text-align: center;
    font-size: .6875rem;
    color: var(--wc-text-muted);
    letter-spacing: .03em;
    padding: .75rem 0;
    margin-bottom: 1.25rem;
    border-bottom: 1px solid var(--wc-border);
}

/* ─── Global Font ─── */
.woocommerce,
.woocommerce-page {
    font-family: var(--wc-font-body) !important;
    color: var(--wc-text);
}

/* ─── Hide col-2, additional info, etc ─── */
.woocommerce-checkout .col2-set .col-2,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper,
.woocommerce-checkout h3:nth-of-type(2):not(#order_review_heading),
.woocommerce-checkout #billing_company_field,
.woocommerce-checkout #billing_state_field,
.woocommerce-checkout #billing_address_2_field,
.woocommerce-checkout #order_comments_field,
.woocommerce-checkout #ship-to-different-address {
    display: none !important;
}

/* ─── Checkout Layout — Single Column ─── */
.woocommerce-checkout .col2-set {
    display: block;
    margin-bottom: 0;
    width: 100%;
}

.woocommerce-checkout .col2-set .col-1 {
    background: var(--wc-card);
    border-radius: var(--wc-radius);
    box-shadow: var(--wc-shadow);
    border: 1px solid var(--wc-border);
    padding: 1.75rem;
    margin-bottom: 1.25rem;
    width: 100% !important;
    float: none !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

/* Section headings */
.woocommerce-checkout h3#order_review_heading,
.woocommerce-checkout .col2-set h3 {
    font-family: var(--wc-font-body) !important;
    font-size: .875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--wc-text);
    margin-bottom: 1.25rem;
    padding-bottom: .75rem;
    border-bottom: 1px solid var(--wc-border);
}

/* ─── Form Fields ─── */
.woocommerce form .form-row {
    margin-bottom: .75rem;
}

.woocommerce form .form-row label {
    font-family: var(--wc-font-body);
    font-size: .8125rem;
    color: var(--wc-text);
    margin-bottom: .25rem;
    display: block;
    font-weight: 500;
}

.woocommerce form .form-row label .required {
    color: var(--wc-accent);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    border: 1px solid var(--wc-border) !important;
    border-radius: var(--wc-radius-sm) !important;
    font-family: var(--wc-font-body) !important;
    font-size: .875rem !important;
    color: var(--wc-text) !important;
    background: var(--wc-input-bg) !important;
    padding: .6875rem .875rem !important;
    width: 100%;
    box-sizing: border-box;
    transition: border-color .15s, box-shadow .15s, background .15s !important;
    outline: none;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
    border-color: var(--wc-border-focus) !important;
    box-shadow: 0 0 0 3px rgba(193,115,53,.1) !important;
    background: #fff !important;
}

/* Override browser autofill purple/blue background */
.woocommerce form .form-row input.input-text:-webkit-autofill,
.woocommerce form .form-row input.input-text:-webkit-autofill:hover,
.woocommerce form .form-row input.input-text:-webkit-autofill:focus,
.woocommerce form .form-row input.input-text:-webkit-autofill:active,
.woocommerce form .form-row select:-webkit-autofill,
.woocommerce form .form-row textarea:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px var(--wc-input-bg) inset !important;
    -webkit-text-fill-color: var(--wc-text) !important;
    transition: background-color 5000s ease-in-out 0s !important;
    caret-color: var(--wc-text) !important;
}

/* Name row side by side */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 0 1rem;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row {
    flex: 1 1 100%;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last {
    flex: 1 1 calc(50% - .5rem) !important;
    float: none !important;
    width: auto !important;
}

/* City and ZIP side by side */
.woocommerce-checkout #billing_city_field {
    flex: 1 1 calc(60% - .5rem) !important;
}

.woocommerce-checkout #billing_postcode_field {
    flex: 1 1 calc(40% - .5rem) !important;
}

/* ─── Coupon Bar ─── */
.woocommerce-form-coupon-toggle .woocommerce-info {
    background: var(--wc-card);
    border: 1px solid var(--wc-border);
    border-radius: var(--wc-radius-sm);
    padding: .75rem 1rem;
    font-size: .8125rem;
    color: var(--wc-text-secondary);
    margin-bottom: 1.25rem;
    border-left: 3px solid var(--wc-accent);
}

.woocommerce-form-coupon-toggle .woocommerce-info::before { display: none !important; }

.woocommerce form.checkout_coupon {
    background: var(--wc-card);
    border: 1px solid var(--wc-border) !important;
    border-radius: var(--wc-radius-sm);
    padding: 1rem !important;
    margin-bottom: 1.25rem;
}

/* ─── Order Review ─── */
.woocommerce-checkout #order_review {
    background: var(--wc-card);
    border-radius: var(--wc-radius);
    box-shadow: var(--wc-shadow);
    border: 1px solid var(--wc-border);
    padding: 1.75rem;
}

/* Order table */
.woocommerce table.shop_table {
    border: none !important;
    border-collapse: collapse;
    font-family: var(--wc-font-body);
    margin-bottom: 1.25rem;
}

.woocommerce table.shop_table thead {
    display: none;
}

.woocommerce table.shop_table td {
    padding: .625rem 0;
    border-bottom: 1px solid rgba(0,0,0,.05) !important;
    font-size: .875rem;
    color: var(--wc-text);
    background: none !important;
}

.woocommerce table.shop_table td.product-name {
    font-weight: 500;
}

.woocommerce table.shop_table td.product-name .product-quantity {
    color: var(--wc-text-muted);
}

.woocommerce table.shop_table td.product-total {
    text-align: right;
    font-weight: 600;
    white-space: nowrap;
}

.woocommerce table.shop_table tfoot th {
    text-align: left;
    font-weight: 500;
    font-size: .8125rem;
    color: var(--wc-text-secondary);
    padding: .625rem 0;
    border-top: 1px solid rgba(0,0,0,.05);
    background: none !important;
    text-transform: none;
    letter-spacing: 0;
}

.woocommerce table.shop_table tfoot td {
    text-align: right;
    font-weight: 600;
    border-top: 1px solid rgba(0,0,0,.05) !important;
}

.woocommerce table.shop_table .order-total th {
    font-family: var(--wc-font-body);
    font-size: 1rem;
    font-weight: 700;
    color: var(--wc-text);
    padding-top: 1rem;
    border-top: 2px solid var(--wc-text) !important;
}

.woocommerce table.shop_table .order-total td {
    font-family: var(--wc-font-body);
    font-size: 1.375rem;
    font-weight: 800;
    color: var(--wc-accent);
    padding-top: 1rem;
    border-top: 2px solid var(--wc-text) !important;
}

/* ─── Payment Methods ─── */
.woocommerce-checkout #payment {
    background: transparent !important;
    border-radius: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 1.25rem !important;
    border: none !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
    border: 1px solid var(--wc-border) !important;
    border-radius: var(--wc-radius) !important;
    margin-bottom: .625rem !important;
    padding: 0 !important;
    background: var(--wc-card) !important;
    overflow: hidden;
    transition: border-color .2s, box-shadow .2s;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

/* Radio button — direct child of li, vertically centered */
.woocommerce-checkout #payment ul.payment_methods li > input[type="radio"] {
    accent-color: var(--wc-accent);
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin: 0 0 0 1rem !important;
    cursor: pointer;
}

.woocommerce-checkout #payment ul.payment_methods li:hover {
    border-color: var(--wc-accent) !important;
    box-shadow: 0 0 0 1px var(--wc-accent);
}

/* Selected payment method */
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) {
    border-color: var(--wc-accent) !important;
    box-shadow: 0 0 0 1px var(--wc-accent);
    background: var(--wc-accent-light) !important;
}

/* Payment label — sits next to radio, takes remaining space */
.woocommerce-checkout #payment ul.payment_methods li > label {
    display: flex !important;
    align-items: center !important;
    padding: .875rem .75rem .875rem .625rem !important;
    cursor: pointer;
    font-family: var(--wc-font-body) !important;
    font-size: .875rem !important;
    font-weight: 600 !important;
    color: var(--wc-text) !important;
    gap: .625rem;
    margin: 0 !important;
    flex: 1 1 0;
    min-width: 0;
    box-sizing: border-box;
}

/* Hide radio inside label if WC puts it there (avoid double radios) */
.woocommerce-checkout #payment ul.payment_methods li > label input[type="radio"] {
    display: none;
}

/* Payment icon pushed to the right */
.woocommerce-checkout #payment ul.payment_methods li > label img {
    max-height: 28px;
    width: auto;
    margin-left: auto;
    flex-shrink: 0;
    object-fit: contain;
}

/* Payment description box — full width below radio+label row */
.woocommerce-checkout #payment ul.payment_methods li > .payment_box {
    flex-basis: 100%;
}

/* Payment description box */
.woocommerce-checkout #payment div.payment_box {
    background: #F9F9F9 !important;
    color: var(--wc-text-secondary) !important;
    border-top: 1px solid var(--wc-border) !important;
    padding: 1rem 1.25rem !important;
    font-size: .8125rem !important;
    line-height: 1.5;
    margin: 0 !important;
    border-radius: 0 !important;
}

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

/* Stripe iframe */
#payment-gateway-form {
    background: transparent !important;
    border: none !important;
    padding: .5rem 0 0 !important;
    margin: 0 !important;
}

#payment-gateway-iframe {
    border: none !important;
    border-radius: var(--wc-radius-sm);
    min-height: 220px;
    width: 100% !important;
}

.woocommerce-checkout #payment .payment_box fieldset {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

.woocommerce-checkout #payment .payment_box p {
    color: var(--wc-text-muted);
    font-size: .8125rem;
    margin: 0 0 .75rem;
}

/* PayPal popup container inside payment_box — hide broken popup.svg */
.wc-ppcp-payment-method__container {
    text-align: center;
    padding: .5rem 0;
}

.wc-ppcp-popup__container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
}

.wc-ppcp-popup__container p {
    color: var(--wc-text-secondary) !important;
    font-size: .8125rem !important;
    margin: 0;
    line-height: 1.5;
}

/* PayPal popup.svg — make it outline/grayscale style */
.wc-ppcp-popup__container img,
.payment_method_woocommerce_payments_lighthouse_paypal_gateway .wc-ppcp-popup__container img {
    filter: grayscale(100%) opacity(.35) !important;
    display: block !important;
    max-height: 24px !important;
    max-width: 100px !important;
}

/* Fallback: if popup.svg broken, show outline SVG via pseudo-element */
.wc-ppcp-popup__container::before,
.row-paypal-gateway .wc-ppcp-popup__container::before {
    content: '';
    display: block;
    width: 80px;
    height: 22px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 124 33'%3E%3Cpath fill='none' stroke='%23999' stroke-width='1.2' d='M46.211 6.749h-6.839a.95.95 0 0 0-.939.802l-2.766 17.537a.57.57 0 0 0 .564.658h3.265a.95.95 0 0 0 .939-.803l.746-4.73a.95.95 0 0 1 .938-.803h2.165c4.505 0 7.105-2.18 7.784-6.5.306-1.89.013-3.375-.872-4.415-.972-1.142-2.696-1.746-4.985-1.746zM47 13.154c-.374 2.454-2.249 2.454-4.062 2.454h-1.032l.724-4.583a.57.57 0 0 1 .563-.481h.473c1.235 0 2.4 0 3.002.704.359.42.469 1.044.332 1.906zM66.654 13.075h-3.275a.57.57 0 0 0-.563.481l-.145.916-.229-.332c-.709-1.029-2.29-1.373-3.868-1.373-3.619 0-6.71 2.741-7.312 6.586-.313 1.918.132 3.752 1.22 5.031.998 1.176 2.426 1.666 4.125 1.666 2.916 0 4.533-1.875 4.533-1.875l-.146.91a.57.57 0 0 0 .562.66h2.95a.95.95 0 0 0 .939-.804l1.77-11.209a.568.568 0 0 0-.561-.657zm-4.565 6.374c-.316 1.871-1.801 3.127-3.695 3.127-.951 0-1.711-.305-2.199-.883-.484-.574-.668-1.391-.514-2.301.295-1.855 1.805-3.152 3.67-3.152.93 0 1.686.309 2.184.892.499.589.697 1.411.554 2.317zM84.096 13.075h-3.291a.954.954 0 0 0-.787.417l-4.539 6.686-1.924-6.425a.953.953 0 0 0-.912-.678h-3.234a.57.57 0 0 0-.541.754l3.625 10.638-3.408 4.811a.57.57 0 0 0 .465.9h3.287a.949.949 0 0 0 .781-.408l10.946-15.8a.57.57 0 0 0-.468-.895z'/%3E%3Cpath fill='none' stroke='%23999' stroke-width='1.2' d='M94.992 6.749h-6.84a.95.95 0 0 0-.938.802l-2.766 17.537a.569.569 0 0 0 .562.658h3.51a.665.665 0 0 0 .656-.562l.785-4.971a.95.95 0 0 1 .938-.803h2.164c4.506 0 7.105-2.18 7.785-6.5.307-1.89.012-3.375-.873-4.415-.971-1.142-2.694-1.746-4.983-1.746zm.789 6.405c-.373 2.454-2.248 2.454-4.062 2.454h-1.031l.725-4.583a.568.568 0 0 1 .562-.481h.473c1.234 0 2.4 0 3.002.704.359.42.468 1.044.331 1.906zM115.434 13.075h-3.273a.567.567 0 0 0-.562.481l-.145.916-.23-.332c-.709-1.029-2.289-1.373-3.867-1.373-3.619 0-6.709 2.741-7.311 6.586-.312 1.918.131 3.752 1.219 5.031 1 1.176 2.426 1.666 4.125 1.666 2.916 0 4.533-1.875 4.533-1.875l-.146.91a.57.57 0 0 0 .564.66h2.949a.95.95 0 0 0 .938-.804l1.771-11.209a.571.571 0 0 0-.565-.657zm-4.565 6.374c-.314 1.871-1.801 3.127-3.695 3.127-.949 0-1.711-.305-2.199-.883-.484-.574-.666-1.391-.514-2.301.297-1.855 1.805-3.152 3.67-3.152.93 0 1.686.309 2.184.892.501.589.699 1.411.554 2.317zM119.295 7.23l-2.807 17.858a.569.569 0 0 0 .562.658h2.822a.949.949 0 0 0 .939-.803l2.768-17.536a.57.57 0 0 0-.562-.659h-3.16a.571.571 0 0 0-.562.482z'/%3E%3Cpath fill='none' stroke='%23999' stroke-width='1.2' d='M7.266 29.154l.523-3.322-1.165-.027H1.061L4.927 1.292a.316.316 0 0 1 .305-.258h9.38c3.114 0 5.263.648 6.385 1.927.526.6.861 1.227 1.023 1.917.17.724.173 1.589.007 2.644l-.012.077v.676l.526.298a3.69 3.69 0 0 1 1.065.812c.45.513.741 1.165.864 1.938.127.795.085 1.741-.123 2.812-.24 1.232-.628 2.305-1.152 3.183a6.547 6.547 0 0 1-1.825 2c-.696.494-1.523.869-2.458 1.109-.906.236-1.939.355-3.072.355h-.73c-.522 0-1.029.188-1.427.525a2.21 2.21 0 0 0-.744 1.328l-.055.299-.924 5.855-.042.215c-.011.068-.03.102-.058.125a.155.155 0 0 1-.096.035H7.266z'/%3E%3Cpath fill='none' stroke='%23999' stroke-width='1.2' d='M23.048 7.667c-.028.179-.06.362-.096.55-1.237 6.351-5.469 8.545-10.874 8.545H9.326c-.661 0-1.218.48-1.321 1.132L6.596 26.83l-.399 2.533a.704.704 0 0 0 .695.814h4.881c.578 0 1.069-.42 1.16-.99l.048-.248.919-5.832.059-.32c.09-.572.582-.992 1.16-.992h.73c4.729 0 8.431-1.92 9.513-7.476.452-2.321.218-4.259-.978-5.622a4.667 4.667 0 0 0-1.336-1.03z'/%3E%3Cpath fill='none' stroke='%23999' stroke-width='1.2' d='M21.754 7.151a9.757 9.757 0 0 0-1.203-.267 15.284 15.284 0 0 0-2.426-.177H11.41a1.16 1.16 0 0 0-1.16.992L8.703 17.199l-.045.289a1.336 1.336 0 0 1 1.321-1.132h2.752c5.405 0 9.637-2.195 10.874-8.545.037-.188.068-.371.096-.55a6.594 6.594 0 0 0-1.017-.429 9.045 9.045 0 0 0-.93-.181z'/%3E%3C/svg%3E") no-repeat center / contain;
    margin-bottom: .25rem;
    opacity: .5;
}

/* PayPal fieldset */
.wc-credit-card-form.row-paypal-gateway {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

/* ─── Place Order Button ─── */
.woocommerce-checkout #payment .place-order {
    padding: 1rem 0 0 !important;
    background: transparent !important;
}

.woocommerce #place_order,
.woocommerce-checkout #place_order {
    background: var(--wc-green) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--wc-radius) !important;
    padding: 1.125rem 2rem !important;
    font-family: var(--wc-font-body) !important;
    font-size: 1.0625rem !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
    cursor: pointer;
    transition: all .25s ease !important;
    width: 100% !important;
    box-sizing: border-box;
    box-shadow: 0 4px 14px rgba(39,174,96,.25) !important;
    min-height: 56px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    text-transform: none !important;
    position: relative;
}

.woocommerce #place_order:hover,
.woocommerce-checkout #place_order:hover {
    background: #219653 !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(39,174,96,.35) !important;
}

/* PayPal yellow button — show official logo, hide text */
.woocommerce #place_order.lighthouse_paypal_bg {
    background: #FFC439 !important;
    color: transparent !important;
    box-shadow: 0 4px 14px rgba(255,196,57,.25) !important;
    font-size: 0 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 124 33'%3E%3Cpath fill='%23253B80' d='M46.211 6.749h-6.839a.95.95 0 0 0-.939.802l-2.766 17.537a.57.57 0 0 0 .564.658h3.265a.95.95 0 0 0 .939-.803l.746-4.73a.95.95 0 0 1 .938-.803h2.165c4.505 0 7.105-2.18 7.784-6.5.306-1.89.013-3.375-.872-4.415-.972-1.142-2.696-1.746-4.985-1.746zM47 13.154c-.374 2.454-2.249 2.454-4.062 2.454h-1.032l.724-4.583a.57.57 0 0 1 .563-.481h.473c1.235 0 2.4 0 3.002.704.359.42.469 1.044.332 1.906zM66.654 13.075h-3.275a.57.57 0 0 0-.563.481l-.145.916-.229-.332c-.709-1.029-2.29-1.373-3.868-1.373-3.619 0-6.71 2.741-7.312 6.586-.313 1.918.132 3.752 1.22 5.031.998 1.176 2.426 1.666 4.125 1.666 2.916 0 4.533-1.875 4.533-1.875l-.146.91a.57.57 0 0 0 .562.66h2.95a.95.95 0 0 0 .939-.804l1.77-11.209a.568.568 0 0 0-.561-.657zm-4.565 6.374c-.316 1.871-1.801 3.127-3.695 3.127-.951 0-1.711-.305-2.199-.883-.484-.574-.668-1.391-.514-2.301.295-1.855 1.805-3.152 3.67-3.152.93 0 1.686.309 2.184.892.499.589.697 1.411.554 2.317zM84.096 13.075h-3.291a.954.954 0 0 0-.787.417l-4.539 6.686-1.924-6.425a.953.953 0 0 0-.912-.678h-3.234a.57.57 0 0 0-.541.754l3.625 10.638-3.408 4.811a.57.57 0 0 0 .465.9h3.287a.949.949 0 0 0 .781-.408l10.946-15.8a.57.57 0 0 0-.468-.895z'/%3E%3Cpath fill='%23179BD7' d='M94.992 6.749h-6.84a.95.95 0 0 0-.938.802l-2.766 17.537a.569.569 0 0 0 .562.658h3.51a.665.665 0 0 0 .656-.562l.785-4.971a.95.95 0 0 1 .938-.803h2.164c4.506 0 7.105-2.18 7.785-6.5.307-1.89.012-3.375-.873-4.415-.971-1.142-2.694-1.746-4.983-1.746zm.789 6.405c-.373 2.454-2.248 2.454-4.062 2.454h-1.031l.725-4.583a.568.568 0 0 1 .562-.481h.473c1.234 0 2.4 0 3.002.704.359.42.468 1.044.331 1.906zM115.434 13.075h-3.273a.567.567 0 0 0-.562.481l-.145.916-.23-.332c-.709-1.029-2.289-1.373-3.867-1.373-3.619 0-6.709 2.741-7.311 6.586-.312 1.918.131 3.752 1.219 5.031 1 1.176 2.426 1.666 4.125 1.666 2.916 0 4.533-1.875 4.533-1.875l-.146.91a.57.57 0 0 0 .564.66h2.949a.95.95 0 0 0 .938-.804l1.771-11.209a.571.571 0 0 0-.565-.657zm-4.565 6.374c-.314 1.871-1.801 3.127-3.695 3.127-.949 0-1.711-.305-2.199-.883-.484-.574-.666-1.391-.514-2.301.297-1.855 1.805-3.152 3.67-3.152.93 0 1.686.309 2.184.892.501.589.699 1.411.554 2.317zM119.295 7.23l-2.807 17.858a.569.569 0 0 0 .562.658h2.822a.949.949 0 0 0 .939-.803l2.768-17.536a.57.57 0 0 0-.562-.659h-3.16a.571.571 0 0 0-.562.482z'/%3E%3Cpath fill='%23253B80' d='M7.266 29.154l.523-3.322-1.165-.027H1.061L4.927 1.292a.316.316 0 0 1 .305-.258h9.38c3.114 0 5.263.648 6.385 1.927.526.6.861 1.227 1.023 1.917.17.724.173 1.589.007 2.644l-.012.077v.676l.526.298a3.69 3.69 0 0 1 1.065.812c.45.513.741 1.165.864 1.938.127.795.085 1.741-.123 2.812-.24 1.232-.628 2.305-1.152 3.183a6.547 6.547 0 0 1-1.825 2c-.696.494-1.523.869-2.458 1.109-.906.236-1.939.355-3.072.355h-.73c-.522 0-1.029.188-1.427.525a2.21 2.21 0 0 0-.744 1.328l-.055.299-.924 5.855-.042.215c-.011.068-.03.102-.058.125a.155.155 0 0 1-.096.035H7.266z'/%3E%3Cpath fill='%23179BD7' d='M23.048 7.667c-.028.179-.06.362-.096.55-1.237 6.351-5.469 8.545-10.874 8.545H9.326c-.661 0-1.218.48-1.321 1.132L6.596 26.83l-.399 2.533a.704.704 0 0 0 .695.814h4.881c.578 0 1.069-.42 1.16-.99l.048-.248.919-5.832.059-.32c.09-.572.582-.992 1.16-.992h.73c4.729 0 8.431-1.92 9.513-7.476.452-2.321.218-4.259-.978-5.622a4.667 4.667 0 0 0-1.336-1.03z'/%3E%3Cpath fill='%2322284F' d='M21.754 7.151a9.757 9.757 0 0 0-1.203-.267 15.284 15.284 0 0 0-2.426-.177H11.41a1.16 1.16 0 0 0-1.16.992L8.703 17.199l-.045.289a1.336 1.336 0 0 1 1.321-1.132h2.752c5.405 0 9.637-2.195 10.874-8.545.037-.188.068-.371.096-.55a6.594 6.594 0 0 0-1.017-.429 9.045 9.045 0 0 0-.93-.181z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 100px auto !important;
}

.woocommerce #place_order.lighthouse_paypal_bg:hover {
    background-color: #F0B72A !important;
    box-shadow: 0 6px 20px rgba(255,196,57,.35) !important;
}

/* Trust badges under button */
.woocommerce-checkout #payment .place-order::after {
    content: '🔒 Secure Payment  ·  🚚 Free Shipping  ·  ↩️ 30-Day Returns';
    display: block;
    text-align: center;
    font-size: .6875rem;
    color: var(--wc-text-muted);
    margin-top: .875rem;
    letter-spacing: .01em;
    font-family: var(--wc-font-body);
    line-height: 1.6;
}

/* Privacy policy */
.woocommerce-checkout .woocommerce-privacy-policy-text {
    margin-bottom: .75rem;
}

.woocommerce-checkout .woocommerce-privacy-policy-text p {
    font-size: .6875rem !important;
    color: var(--wc-text-muted) !important;
    line-height: 1.5;
    margin: 0;
    text-align: center;
}

.woocommerce-checkout .woocommerce-privacy-policy-text a {
    color: var(--wc-accent);
    text-decoration: underline;
}

/* ─── Notices ─── */
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info {
    border-radius: var(--wc-radius-sm) !important;
    font-family: var(--wc-font-body) !important;
    padding: .75rem 1rem .75rem 2.5rem !important;
    font-size: .8125rem;
    border-top: none !important;
    position: relative !important;
    list-style: none !important;
}

.woocommerce .woocommerce-error::before,
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before {
    position: absolute !important;
    left: .75rem !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    font-size: .875rem !important;
    line-height: 1 !important;
}

.woocommerce .woocommerce-error,
.woocommerce .woocommerce-error li {
    background: rgba(229,57,53,.06) !important;
    color: #C62828 !important;
    border-left: 3px solid var(--wc-red) !important;
    list-style: none !important;
}
.woocommerce .woocommerce-error::before {
    color: var(--wc-red) !important;
}

.woocommerce .woocommerce-message {
    background: var(--wc-green-light) !important;
    color: #1B5E20 !important;
    border-left: 3px solid var(--wc-green) !important;
}

.woocommerce .woocommerce-message a.restore-item {
    color: var(--wc-accent);
    font-weight: 600;
    text-decoration: underline;
}

.woocommerce .woocommerce-message::before {
    color: var(--wc-green) !important;
}

/* ─── Guarantee Badge ─── */
.woocommerce-checkout #order_review::after {
    content: '';
    display: block;
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--wc-border);
    text-align: center;
    font-size: .6875rem;
    color: var(--wc-text-muted);
    line-height: 1.8;
}

/* ─── Empty Cart ─── */
.woocommerce-cart .cart-empty.woocommerce-info {
    display: block !important;
    text-align: center !important;
    background: var(--wc-card) !important;
    border: 1px solid var(--wc-border) !important;
    border-left: 1px solid var(--wc-border) !important;
    border-radius: var(--wc-radius) !important;
    padding: 3.5rem 1.5rem 2.5rem !important;
    font-family: var(--wc-font-body) !important;
    font-size: 1.0625rem;
    color: var(--wc-text-secondary) !important;
    box-shadow: var(--wc-shadow);
    max-width: 480px;
    margin: 0 auto 1.5rem !important;
    line-height: 1.6;
}

.woocommerce-cart .cart-empty.woocommerce-info::before {
    content: '' !important;
    display: block !important;
    width: 56px !important;
    height: 56px !important;
    margin: 0 auto 1rem !important;
    float: none !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.2' stroke='%23C17335'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M2.25 3h1.386c.51 0 .955.343 1.087.835l.383 1.437M7.5 14.25a3 3 0 0 0-3 3h15.75m-12.75-3h11.218c1.121-2.3 2.1-4.684 2.924-7.138a60.114 60.114 0 0 0-16.536-1.84M7.5 14.25 5.106 5.272M6 20.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm12.75 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z'/%3E%3C/svg%3E") no-repeat center / contain !important;
    opacity: .55;
    position: static !important;
}

.woocommerce-cart .return-to-shop {
    text-align: center;
    max-width: 500px;
    margin: 0 auto;
}

.woocommerce-cart .return-to-shop a.button,
.woocommerce-cart .return-to-shop a.wc-backward {
    background: var(--wc-accent) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--wc-radius) !important;
    padding: .875rem 2rem !important;
    font-family: var(--wc-font-body) !important;
    font-size: .9375rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    display: inline-block !important;
    box-shadow: 0 4px 14px rgba(193,115,53,.3) !important;
    transition: all .25s ease !important;
    letter-spacing: .02em;
}

.woocommerce-cart .return-to-shop a.button:hover,
.woocommerce-cart .return-to-shop a.wc-backward:hover {
    background: var(--wc-accent-hover) !important;
    box-shadow: 0 6px 20px rgba(193,115,53,.4) !important;
    transform: translateY(-1px);
}

/* ─── Classic Cart Page ─── */

/* Cart page title */
.woocommerce-cart .entry-title,
.woocommerce-cart .woocommerce h1,
.woocommerce-cart .page-title {
    font-family: var(--wc-font-heading) !important;
    font-size: 1.75rem !important;
    font-weight: 400 !important;
    text-align: center !important;
    margin-bottom: 2rem !important;
    color: var(--wc-text) !important;
}

/* Cart layout */
.woocommerce-cart .woocommerce {
    max-width: 800px;
    margin: 0 auto;
}

/* Cart table */
.woocommerce table.shop_table.cart {
    background: var(--wc-card);
    border-radius: 12px;
    box-shadow: var(--wc-shadow-md);
    border: none !important;
    overflow: visible;
    table-layout: auto;
}

.woocommerce table.shop_table.cart .product-remove {
    width: 32px;
    text-align: center;
    padding-left: .5rem !important;
    padding-right: 0 !important;
}
.woocommerce table.shop_table.cart .product-thumbnail {
    width: 80px;
    min-width: 80px;
    padding-left: .25rem !important;
    padding-right: .5rem !important;
}

.woocommerce table.shop_table.cart thead {
    display: none !important;
}

/* Override WooCommerce responsive labels */
.woocommerce table.shop_table.cart td::before {
    display: none !important;
}

.woocommerce table.shop_table.cart tbody tr {
    display: flex !important;
    align-items: center;
    padding: 1.25rem;
    gap: 1rem;
    border-bottom: 1px solid rgba(0,0,0,.04);
}
.woocommerce table.shop_table.cart tbody tr:last-child {
    border-bottom: none;
}
.woocommerce table.shop_table.cart td {
    padding: 0 !important;
    border: none !important;
    background: none !important;
    display: block;
}
.woocommerce table.shop_table.cart td.product-remove {
    order: 5;
    margin-left: auto;
}
.woocommerce table.shop_table.cart td.product-thumbnail {
    flex-shrink: 0;
}
.woocommerce table.shop_table.cart td.product-name {
    flex: 1;
    min-width: 0;
}
.woocommerce table.shop_table.cart td.product-price {
    white-space: nowrap;
}
.woocommerce table.shop_table.cart td.product-quantity {
    flex-shrink: 0;
}
.woocommerce table.shop_table.cart td.product-subtotal {
    white-space: nowrap;
    font-weight: 700;
}

.woocommerce table.shop_table.cart img {
    width: 80px !important;
    height: 80px !important;
    object-fit: contain;
    border-radius: 8px;
    border: 1px solid var(--wc-border);
    box-shadow: 0 2px 6px rgba(0,0,0,.06);
    background: #fff;
}

.woocommerce table.shop_table.cart .product-name a {
    font-family: var(--wc-font-body);
    font-weight: 600;
    font-size: .9rem;
    color: var(--wc-text);
    text-decoration: none;
    transition: color .2s;
}
.woocommerce table.shop_table.cart .product-name a:hover {
    color: var(--wc-accent);
}

.woocommerce table.shop_table.cart .product-price .amount,
.woocommerce table.shop_table.cart .product-subtotal .amount {
    font-weight: 700;
    color: var(--wc-text);
}

/* Coupon & actions row */
.woocommerce table.shop_table.cart tbody tr.actions-row,
.woocommerce table.shop_table.cart tbody tr:has(.actions) {
    display: block;
    padding: 1rem 1.25rem;
    border-top: 1px solid var(--wc-border);
}
.woocommerce table.shop_table.cart + .actions,
.woocommerce-cart .actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding: 0 !important;
    gap: .75rem;
    border: none !important;
    background: none !important;
}
.woocommerce-cart .coupon {
    display: flex;
    gap: .5rem;
    align-items: center;
    flex: 1 1 auto;
}
.woocommerce-cart .actions button[name="update_cart"] {
    margin-left: auto;
}
.woocommerce-cart .coupon input.input-text {
    border: 1px solid var(--wc-border) !important;
    border-radius: 8px !important;
    padding: .625rem 1rem !important;
    font-family: var(--wc-font-body) !important;
    font-size: .8125rem !important;
    background: var(--wc-input-bg) !important;
    transition: border-color .2s;
    width: 200px !important;
}
.woocommerce-cart .coupon input.input-text:focus {
    border-color: var(--wc-accent) !important;
    outline: none;
}
.woocommerce-cart .coupon button,
.woocommerce-cart .actions button[name="update_cart"] {
    background: var(--wc-text) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: .625rem 1.25rem !important;
    font-family: var(--wc-font-body) !important;
    font-size: .8125rem !important;
    font-weight: 600 !important;
    cursor: pointer;
    transition: background .2s, transform .15s;
}
.woocommerce-cart .coupon button:hover,
.woocommerce-cart .actions button[name="update_cart"]:hover {
    background: #333 !important;
    transform: translateY(-1px);
}

/* Cart totals */
.woocommerce .cart-collaterals {
    margin-top: 1.5rem;
}
.woocommerce .cart_totals {
    background: var(--wc-card);
    border-radius: 12px;
    box-shadow: var(--wc-shadow-md);
    border: none;
    padding: 1.75rem;
    max-width: 400px;
    margin-left: auto;
}

.woocommerce .cart_totals h2 {
    font-family: var(--wc-font-body) !important;
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--wc-text);
    margin-bottom: 1.25rem;
    padding-bottom: .875rem;
    border-bottom: 2px solid var(--wc-text);
}

.woocommerce .cart_totals table.shop_table {
    margin-bottom: 1.5rem;
}
.woocommerce .cart_totals table.shop_table th {
    font-weight: 600 !important;
    color: var(--wc-text) !important;
    font-size: .875rem !important;
}
.woocommerce .cart_totals table.shop_table td {
    font-size: .875rem !important;
}
.woocommerce .cart_totals table.shop_table .order-total th {
    font-size: 1rem !important;
    padding-top: 1.25rem !important;
}
.woocommerce .cart_totals table.shop_table .order-total td {
    font-size: 1.5rem !important;
    color: var(--wc-accent) !important;
    padding-top: 1.25rem !important;
}

/* Proceed to checkout button */
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce a.button.wc-forward {
    background: var(--wc-accent) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 1rem 1.5rem !important;
    font-family: var(--wc-font-body) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    display: block !important;
    text-align: center !important;
    box-shadow: 0 4px 14px rgba(193,115,53,.3) !important;
    transition: all .25s ease !important;
    letter-spacing: .02em;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
    background: var(--wc-accent-hover) !important;
    box-shadow: 0 6px 20px rgba(193,115,53,.4) !important;
    transform: translateY(-1px);
}

/* Quantity */
.woocommerce .quantity .qty {
    border: 1px solid var(--wc-border) !important;
    border-radius: 8px !important;
    padding: .5rem .75rem !important;
    font-family: var(--wc-font-body) !important;
    font-size: .875rem !important;
    width: 60px !important;
    text-align: center;
    transition: border-color .2s;
}
.woocommerce .quantity .qty:focus {
    border-color: var(--wc-accent) !important;
    outline: none;
}

/* Remove */
.woocommerce a.remove {
    color: var(--wc-text-muted) !important;
    font-size: 1.25rem;
    width: 28px !important;
    height: 28px !important;
    line-height: 28px !important;
    border-radius: 50%;
    text-align: center;
    transition: all .2s;
}

.woocommerce a.remove:hover {
    color: #fff !important;
    background: var(--wc-red) !important;
}

/* Country select dropdown */
.woocommerce-checkout #billing_country_field {
    flex: 1 1 100% !important;
}

.woocommerce-checkout #billing_country_field select,
.woocommerce form .form-row select#billing_country {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath fill='%236B6B6B' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    padding-right: 2.5rem !important;
    cursor: pointer;
}

/* WooCommerce Select2 override (used for country) */
.woocommerce-checkout .select2-container--default .select2-selection--single {
    border: 1px solid var(--wc-border) !important;
    border-radius: var(--wc-radius-sm) !important;
    background: var(--wc-input-bg) !important;
    height: auto !important;
    padding: .6875rem .875rem !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    font-family: var(--wc-font-body) !important;
    font-size: .875rem !important;
    color: var(--wc-text) !important;
    line-height: 1.4 !important;
    padding: 0 !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 50% !important;
    transform: translateY(-50%);
    right: .75rem !important;
}

.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--wc-border-focus) !important;
    box-shadow: 0 0 0 3px rgba(193,115,53,.1) !important;
}

.select2-dropdown {
    border: 1px solid var(--wc-border) !important;
    border-radius: var(--wc-radius-sm) !important;
    box-shadow: var(--wc-shadow-md) !important;
}

.select2-results__option {
    font-family: var(--wc-font-body) !important;
    font-size: .875rem !important;
    padding: .5rem .75rem !important;
}

.select2-results__option--highlighted[aria-selected] {
    background: var(--wc-accent) !important;
}

/* Fix double asterisk on Phone (from both plugin and theme making it required) */
.woocommerce-checkout #billing_phone_field label abbr.required + abbr.required {
    display: none !important;
}

/* Tighten form spacing */
.woocommerce form .form-row {
    margin-bottom: .625rem;
}

.woocommerce form .form-row label {
    margin-bottom: .1875rem;
}

/* ═══════════════════════════════════════════════
   RESPONSIVE — WooCommerce
   ═══════════════════════════════════════════════ */

/* ─── Tablet (<=768px) ─── */
@media (max-width: 768px) {
    .woocommerce-page .content-area--page {
        padding: 1rem .75rem 3rem;
    }

    .woocommerce-page .entry__title {
        font-size: 1.375rem;
    }

    /* ── Checkout ── */
    .woocommerce-checkout .col2-set .col-1,
    .woocommerce-checkout #order_review {
        padding: 1.25rem;
    }

    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last {
        flex: 1 1 calc(50% - .5rem) !important;
    }

    .woocommerce-checkout .woocommerce::before {
        font-size: .625rem;
        padding: .5rem;
    }

    .woocommerce-checkout #payment ul.payment_methods li > label {
        padding: .75rem .625rem .75rem .5rem !important;
        font-size: .8125rem !important;
        gap: .5rem;
    }
    .woocommerce-checkout #payment ul.payment_methods li > input[type="radio"] {
        margin-left: .75rem !important;
    }
    .woocommerce-checkout #payment ul.payment_methods li > label img {
        max-height: 22px;
    }
    .woocommerce-checkout #place_order {
        font-size: .9375rem !important;
        padding: .875rem !important;
    }

    /* ── Cart ── */
    .woocommerce-cart .woocommerce {
        max-width: 100%;
    }

    /* Kill ALL WooCommerce responsive table labels & overrides */
    .woocommerce table.shop_table.cart td::before,
    .woocommerce table.shop_table_responsive tr td::before,
    .woocommerce table.shop_table.shop_table_responsive tr td::before {
        display: none !important;
        content: none !important;
    }

    .woocommerce table.shop_table_responsive tr,
    .woocommerce table.shop_table.cart tbody tr,
    .woocommerce table.shop_table.shop_table_responsive tbody tr {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: flex-start !important;
        padding: 1rem !important;
        gap: .5rem !important;
        position: relative !important;
    }

    .woocommerce table.shop_table_responsive tr td,
    .woocommerce table.shop_table.cart td,
    .woocommerce table.shop_table.shop_table_responsive td {
        display: block !important;
        width: auto !important;
        text-align: left !important;
        padding: 0 !important;
        border: none !important;
        float: none !important;
    }

    /* Delete button — top-right corner */
    .woocommerce table.shop_table.cart td.product-remove {
        position: absolute !important;
        right: .75rem !important;
        top: .75rem !important;
        order: 10 !important;
        margin-left: 0 !important;
    }

    /* Row 1: [thumbnail] [product name] */
    .woocommerce table.shop_table.cart td.product-thumbnail {
        flex: 0 0 72px !important;
        width: 72px !important;
        min-width: 72px !important;
        order: 1 !important;
    }
    .woocommerce table.shop_table.cart td.product-thumbnail a,
    .woocommerce table.shop_table.cart td.product-thumbnail img {
        display: block !important;
    }
    .woocommerce table.shop_table.cart img {
        width: 72px !important;
        height: 72px !important;
    }
    .woocommerce table.shop_table.cart td.product-name {
        flex: 0 0 calc(100% - 84px) !important;
        width: calc(100% - 84px) !important;
        min-width: 0 !important;
        order: 2 !important;
        padding-right: 1.5rem !important;
    }
    .woocommerce table.shop_table.cart .product-name a {
        font-size: .8125rem;
        line-height: 1.4;
    }

    /* Row 2: [price] ——— [quantity] [subtotal]  (full-width row) */
    .woocommerce table.shop_table.cart td.product-price {
        order: 3 !important;
        flex: 0 0 auto !important;
        font-size: .8125rem !important;
        color: #888 !important;
        align-self: center !important;
    }
    .woocommerce table.shop_table.cart td.product-quantity {
        order: 4 !important;
        margin-left: auto !important;
        flex: 0 0 auto !important;
        align-self: center !important;
    }
    .woocommerce table.shop_table.cart td.product-subtotal {
        order: 5 !important;
        margin-left: .5rem !important;
        font-size: .9375rem !important;
        font-weight: 700 !important;
        flex: 0 0 auto !important;
        align-self: center !important;
    }
    .woocommerce .quantity .qty {
        width: 48px !important;
        padding: .375rem .5rem !important;
    }

    /* Cart actions */
    .woocommerce-cart .actions {
        flex-wrap: wrap;
    }
    .woocommerce-cart .coupon {
        width: 100%;
        margin-bottom: .75rem;
    }
    .woocommerce-cart .coupon input.input-text {
        flex: 1;
        width: auto !important;
    }
    .woocommerce .cart_totals {
        max-width: 100%;
    }

    /* Cart totals — override WooCommerce responsive completely */
    .woocommerce-cart .cart_totals {
        padding: 1.25rem !important;
        max-width: 100% !important;
        margin-left: 0 !important;
    }
    .woocommerce-cart .cart_totals h2 {
        font-size: .75rem !important;
        margin-bottom: .875rem !important;
        padding-bottom: .625rem !important;
    }
    .woocommerce-cart .cart_totals table.shop_table,
    .woocommerce-cart .cart_totals table.shop_table_responsive {
        display: block !important;
        width: 100% !important;
        margin-bottom: 1rem !important;
    }
    .woocommerce-cart .cart_totals table.shop_table tbody,
    .woocommerce-cart .cart_totals table.shop_table_responsive tbody {
        display: block !important;
    }
    .woocommerce-cart .cart_totals table.shop_table tr,
    .woocommerce-cart .cart_totals table.shop_table_responsive tr {
        display: flex !important;
        justify-content: space-between !important;
        align-items: baseline !important;
        padding: .5rem 0 !important;
        border: none !important;
        width: 100% !important;
    }
    .woocommerce-cart .cart_totals table.shop_table .order-total,
    .woocommerce-cart .cart_totals table.shop_table_responsive .order-total {
        border-top: 1px solid rgba(0,0,0,.08) !important;
        margin-top: .25rem !important;
        padding-top: .75rem !important;
    }
    .woocommerce-cart .cart_totals table.shop_table th,
    .woocommerce-cart .cart_totals table.shop_table td,
    .woocommerce-cart .cart_totals table.shop_table_responsive th,
    .woocommerce-cart .cart_totals table.shop_table_responsive td {
        display: inline !important;
        padding: 0 !important;
        border: none !important;
        width: auto !important;
        float: none !important;
        text-align: left !important;
        background: none !important;
    }
    .woocommerce-cart .cart_totals table.shop_table td::before,
    .woocommerce-cart .cart_totals table.shop_table_responsive td::before {
        display: none !important;
        content: none !important;
    }
    .woocommerce-cart .cart_totals table.shop_table td,
    .woocommerce-cart .cart_totals table.shop_table_responsive td {
        text-align: right !important;
        margin-left: auto !important;
    }
    .woocommerce-cart .cart_totals table.shop_table .order-total th {
        font-size: .9375rem !important;
        font-weight: 700 !important;
        padding-top: 0 !important;
    }
    .woocommerce-cart .cart_totals table.shop_table .order-total td {
        font-size: 1.25rem !important;
        font-weight: 700 !important;
        color: var(--wc-accent) !important;
        padding-top: 0 !important;
    }
    .woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
        font-size: .9375rem !important;
        padding: .875rem 1.25rem !important;
        border-radius: 10px !important;
    }
}

/* ─── Mobile (<=576px) ─── */
@media (max-width: 576px) {
    .woocommerce-page .content-area--page {
        padding: .75rem .625rem 2.5rem;
    }

    .woocommerce-page .entry__title {
        font-size: 1.25rem;
        margin-bottom: .75rem;
    }

    /* ── Checkout mobile ── */
    .woocommerce-checkout .col2-set .col-1,
    .woocommerce-checkout #order_review {
        padding: 1rem !important;
        border-radius: 8px !important;
    }

    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
        gap: 0 !important;
    }
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last {
        flex: 1 1 100% !important;
        width: 100% !important;
        float: none !important;
    }

    .woocommerce-checkout #billing_city_field,
    .woocommerce-checkout #billing_postcode_field {
        flex: 1 1 100% !important;
    }

    .woocommerce-checkout h3#order_review_heading,
    .woocommerce-checkout .col2-set h3 {
        font-size: .75rem;
    }

    .woocommerce form .form-row input.input-text,
    .woocommerce form .form-row textarea,
    .woocommerce form .form-row select {
        font-size: .8125rem !important;
        padding: .625rem .75rem !important;
    }

    .woocommerce-form-coupon-toggle .woocommerce-info {
        font-size: .75rem !important;
        padding: .625rem !important;
    }

    .woocommerce-checkout #order_review table.shop_table {
        font-size: .8125rem;
    }
    .woocommerce-checkout #order_review table.shop_table th,
    .woocommerce-checkout #order_review table.shop_table td {
        padding: .5rem .375rem !important;
    }

    .woocommerce-checkout #payment ul.payment_methods li > label {
        font-size: .75rem !important;
        padding: .625rem .5rem .625rem .375rem !important;
    }
    .woocommerce-checkout #payment ul.payment_methods li > input[type="radio"] {
        width: 16px;
        height: 16px;
        margin-left: .5rem !important;
    }
    .woocommerce-checkout #payment ul.payment_methods li > label img {
        max-height: 20px;
    }

    .woocommerce-checkout #place_order {
        font-size: .875rem !important;
        padding: .75rem !important;
        min-height: 48px;
    }

    .woocommerce-checkout #payment .place-order::after {
        font-size: .6rem;
    }

    /* ── Cart mobile ── */
    .woocommerce table.shop_table.cart tbody tr {
        padding: .75rem !important;
        gap: .5rem !important;
    }
    .woocommerce table.shop_table.cart td.product-thumbnail {
        flex: 0 0 64px !important;
        width: 64px !important;
        min-width: 64px !important;
    }
    .woocommerce table.shop_table.cart img {
        width: 64px !important;
        height: 64px !important;
        border-radius: 6px !important;
    }
    .woocommerce table.shop_table.cart td.product-name {
        flex: 0 0 calc(100% - 76px) !important;
        width: calc(100% - 76px) !important;
        padding-right: 1.25rem !important;
    }
    .woocommerce table.shop_table.cart .product-name a {
        font-size: .8125rem !important;
    }
    .woocommerce table.shop_table.cart td.product-remove {
        right: .5rem !important;
        top: .5rem !important;
    }

    .woocommerce-cart .cart_totals {
        max-width: 100% !important;
        padding: 1rem !important;
    }
    .woocommerce-cart .cart_totals h2 {
        font-size: .6875rem;
        margin-bottom: .75rem !important;
        padding-bottom: .5rem !important;
    }
    .woocommerce-cart .cart_totals table.shop_table .order-total td {
        font-size: 1.125rem !important;
    }

    .woocommerce-cart .coupon input.input-text {
        font-size: .75rem !important;
        padding: .5rem .75rem !important;
    }
    .woocommerce-cart .coupon button,
    .woocommerce-cart .actions button[name="update_cart"] {
        font-size: .75rem !important;
        padding: .5rem 1rem !important;
    }
}

/* ─── Very small phones (<=375px) ─── */
@media (max-width: 375px) {
    .woocommerce-page .content-area--page {
        padding: .5rem .5rem 2rem;
    }

    .woocommerce-checkout .col2-set .col-1,
    .woocommerce-checkout #order_review {
        padding: .75rem !important;
    }

    .woocommerce table.shop_table.cart tbody tr {
        padding: .5rem !important;
    }
    .woocommerce table.shop_table.cart td.product-thumbnail {
        flex: 0 0 52px !important;
        width: 52px !important;
        min-width: 52px !important;
    }
    .woocommerce table.shop_table.cart img {
        width: 52px !important;
        height: 52px !important;
    }
    .woocommerce table.shop_table.cart td.product-name {
        flex: 0 0 calc(100% - 64px) !important;
        width: calc(100% - 64px) !important;
    }
    .woocommerce table.shop_table.cart .product-name a {
        font-size: .75rem !important;
    }
}


/* ========================================
   THANK YOU PAGE
   ======================================== */
.woocommerce-order-received .entry-title,
.woocommerce-order-received .entry__title,
.woocommerce-order-received .page-title {
    display: none !important;
}
.woocommerce-order-received .entry__header {
    display: none !important;
}
.woocommerce-order-received .woocommerce::before {
    display: none !important;
}

.kp-thankyou {
    max-width: 640px;
    margin: 2rem auto;
    padding: 0 1rem;
    font-family: var(--font-body, 'DM Sans', sans-serif);
}

/* Success / Fail header */
.kp-thankyou__success,
.kp-thankyou__failed {
    text-align: center;
    padding: 2rem 1rem 1rem;
}
.kp-thankyou__icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    margin-bottom: 1rem;
}
.kp-thankyou__icon--ok {
    background: #e8f5e9;
    color: #2e7d32;
    border: 3px solid #2e7d32;
}
.kp-thankyou__icon--fail {
    background: #ffebee;
    color: #c62828;
    border: 3px solid #c62828;
}
.kp-thankyou__title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0 0 .5rem;
}
.kp-thankyou__subtitle {
    color: #555;
    font-size: .95rem;
    margin: 0;
}

/* Order number highlight */
.kp-thankyou__order-highlight {
    text-align: center;
    background: linear-gradient(135deg, #1a1a2e 0%, #2c3e50 100%);
    color: #fff;
    border-radius: 12px;
    padding: 1.25rem;
    margin-bottom: 1.5rem;
}
.kp-thankyou__order-number-wrap {
    display: flex;
    flex-direction: column;
    gap: .25rem;
}
.kp-thankyou__order-label {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    opacity: .7;
}
.kp-thankyou__order-number {
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: .05em;
    font-family: 'DM Serif Display', serif;
}
.kp-thankyou__order-tip {
    font-size: .8rem;
    opacity: .7;
    margin: .5rem 0 0;
}
.kp-thankyou__order-tip i {
    margin-right: .35rem;
}

/* Order detail grid */
.kp-thankyou__details {
    background: #f8f9fa;
    border-radius: 12px;
    padding: 1.25rem;
    margin-bottom: 1.5rem;
}
.kp-thankyou__detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem 1.5rem;
}
.kp-thankyou__detail-item {
    display: flex;
    flex-direction: column;
    gap: .15rem;
}
.kp-thankyou__label {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #888;
    font-weight: 600;
}
.kp-thankyou__label i {
    margin-right: .25rem;
    font-size: .65rem;
}
.kp-thankyou__value {
    font-size: .95rem;
    font-weight: 600;
    color: #1a1a2e;
}
.kp-thankyou__value--accent {
    color: #c0392b;
    font-size: 1.05rem;
}

/* ─── Horizontal Timeline (Thank-you) ─── */
.kp-thankyou__timeline {
    display: flex;
    justify-content: space-between;
    position: relative;
    margin-bottom: 2rem;
    padding: 0 .5rem;
}
.kp-thankyou__timeline::before {
    content: '';
    position: absolute;
    top: 18px;
    left: 36px;
    right: 36px;
    height: 3px;
    background: #e0e0e0;
    z-index: 0;
}
.kp-timeline__step {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 1;
    flex: 1;
}
.kp-timeline__dot {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e0e0e0;
    color: #aaa;
    font-size: .8rem;
    margin-bottom: .5rem;
    transition: all .3s;
}
.kp-timeline__step.done .kp-timeline__dot {
    background: #2e7d32;
    color: #fff;
}
.kp-timeline__step.active .kp-timeline__dot {
    background: #c0392b;
    color: #fff;
    box-shadow: 0 0 0 4px rgba(192, 57, 43, .2);
    animation: kp-pulse 2s infinite;
}
@keyframes kp-pulse {
    0%, 100% { box-shadow: 0 0 0 4px rgba(192, 57, 43, .2); }
    50% { box-shadow: 0 0 0 8px rgba(192, 57, 43, .08); }
}
.kp-timeline__label {
    font-size: .7rem;
    font-weight: 600;
    color: #aaa;
    text-align: center;
    max-width: 80px;
}
.kp-timeline__step.done .kp-timeline__label,
.kp-timeline__step.active .kp-timeline__label {
    color: #1a1a2e;
}

/* Order items */
.kp-thankyou__items {
    margin-bottom: 1.5rem;
}
.kp-thankyou__section-title {
    font-size: 1rem;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0 0 .75rem;
    padding-bottom: .5rem;
    border-bottom: 2px solid #eee;
}
.kp-thankyou__items-list {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}
.kp-thankyou__item {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .75rem;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
}
.kp-thankyou__item-img {
    flex: 0 0 56px;
}
.kp-thankyou__item-img img {
    width: 56px;
    height: 56px;
    object-fit: contain;
    border-radius: 6px;
    background: #f8f9fa;
}
.kp-thankyou__item-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: .15rem;
}
.kp-thankyou__item-name {
    font-weight: 600;
    font-size: .9rem;
    color: #1a1a2e;
}
.kp-thankyou__item-qty {
    font-size: .8rem;
    color: #888;
}
.kp-thankyou__item-total {
    font-weight: 700;
    font-size: .95rem;
    color: #1a1a2e;
    white-space: nowrap;
}

/* Shipping address */
.kp-thankyou__shipping {
    margin-bottom: 1.5rem;
}
.kp-thankyou__address {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 1rem;
    font-size: .9rem;
    line-height: 1.6;
    color: #333;
}
.kp-thankyou__address p { margin: 0; }
.kp-thankyou__email {
    color: #2980b9;
    margin-top: .25rem !important;
}

/* Actions */
.kp-thankyou__actions {
    display: flex;
    gap: .75rem;
    justify-content: center;
    margin: 1.5rem 0;
    flex-wrap: wrap;
}
.kp-thankyou__btn {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .85rem 2rem;
    border-radius: 8px;
    font-size: .95rem;
    font-weight: 700;
    text-decoration: none;
    transition: background .2s, transform .15s;
}
.kp-thankyou__btn--track {
    background: #1a1a2e;
    color: #fff !important;
}
.kp-thankyou__btn--track:hover {
    background: #2c3e50;
    transform: translateY(-1px);
}
.kp-thankyou__btn--shop {
    background: #fff;
    color: #1a1a2e !important;
    border: 2px solid #ddd;
}
.kp-thankyou__btn--shop:hover {
    border-color: #1a1a2e;
    transform: translateY(-1px);
}

/* Trust badge */
.kp-thankyou__trust {
    text-align: center;
    padding: 1rem;
    color: #888;
    font-size: .8rem;
}
.kp-thankyou__trust i {
    color: #2e7d32;
    margin-right: .35rem;
}

/* Mobile */
@media (max-width: 480px) {
    .kp-thankyou { margin: 1rem auto; }
    .kp-thankyou__icon { width: 60px; height: 60px; font-size: 1.4rem; }
    .kp-thankyou__title { font-size: 1.25rem; }
    .kp-thankyou__order-number { font-size: 1.5rem; }
    .kp-thankyou__detail-grid {
        grid-template-columns: 1fr 1fr;
        gap: .5rem 1rem;
    }
    .kp-thankyou__actions { flex-direction: column; }
    .kp-thankyou__btn { justify-content: center; }
    .kp-timeline__label { font-size: .6rem; max-width: 60px; }
    .kp-timeline__dot { width: 30px; height: 30px; font-size: .7rem; }
    .kp-thankyou__timeline::before { top: 15px; left: 28px; right: 28px; }
}


/* ========================================
   ORDER TRACKING PAGE
   ======================================== */
.kp-tracking {
    max-width: 680px;
    margin: 2rem auto;
    padding: 0 1rem 3rem;
}

.kp-tracking__header {
    text-align: center;
    margin-bottom: 2rem;
}
.kp-tracking__icon-wrap {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: linear-gradient(135deg, #1a1a2e 0%, #2c3e50 100%);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    margin-bottom: 1rem;
}
.kp-tracking__title {
    font-size: 1.75rem;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0 0 .5rem;
}
.kp-tracking__desc {
    color: #666;
    font-size: .95rem;
    margin: 0;
}

/* Form */
.kp-tracking__form {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 2px 12px rgba(0,0,0,.04);
}
.kp-tracking__field {
    margin-bottom: 1rem;
}
.kp-tracking__field label {
    display: block;
    font-size: .8rem;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: .35rem;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.kp-tracking__field label i {
    margin-right: .3rem;
    color: #888;
    font-size: .7rem;
}
.kp-tracking__field input {
    width: 100%;
    padding: .75rem 1rem;
    border: 2px solid #e8e8e8;
    border-radius: 8px;
    font-size: .95rem;
    font-family: inherit;
    transition: border-color .2s;
    background: #fafafa;
    box-sizing: border-box;
}
.kp-tracking__field input:focus {
    border-color: #1a1a2e;
    background: #fff;
    outline: none;
}
.kp-tracking__submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    width: 100%;
    padding: .85rem;
    background: #c0392b;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: background .2s, transform .15s;
}
.kp-tracking__submit:hover {
    background: #a93226;
    transform: translateY(-1px);
}

/* Error */
.kp-tracking__error {
    background: #fff5f5;
    border: 1px solid #fed7d7;
    color: #c62828;
    padding: .85rem 1rem;
    border-radius: 8px;
    font-size: .9rem;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: .5rem;
}

/* Result bar */
.kp-tracking__result {
    animation: kpFadeIn .4s ease;
}
@keyframes kpFadeIn {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

.kp-tracking__order-bar {
    display: flex;
    justify-content: space-between;
    background: #f8f9fa;
    border-radius: 12px;
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
    gap: .5rem;
}
.kp-tracking__bar-label {
    display: block;
    font-size: .65rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #888;
    font-weight: 600;
}
.kp-tracking__bar-value {
    font-weight: 700;
    font-size: .95rem;
    color: #1a1a2e;
}
.kp-tracking__bar-status {
    display: inline-block;
    padding: .15rem .65rem;
    border-radius: 20px;
    font-size: .75rem;
    font-weight: 700;
    text-transform: capitalize;
}
.kp-tracking__bar-status--processing,
.kp-tracking__bar-status--on-hold {
    background: #fff3e0;
    color: #e65100;
}
.kp-tracking__bar-status--completed {
    background: #e8f5e9;
    color: #2e7d32;
}
.kp-tracking__bar-status--pending {
    background: #f3e5f5;
    color: #7b1fa2;
}
.kp-tracking__bar-status--shipped,
.kp-tracking__bar-status--in-transit {
    background: #e3f2fd;
    color: #1565c0;
}
.kp-tracking__bar-status--cancelled,
.kp-tracking__bar-status--refunded,
.kp-tracking__bar-status--failed {
    background: #ffebee;
    color: #c62828;
}

/* ─── Vertical Timeline (Tracking page) ─── */
.kp-tracking__timeline {
    position: relative;
    padding-left: 2.5rem;
    margin-bottom: 2rem;
}
.kp-tracking__timeline::before {
    content: '';
    position: absolute;
    left: 17px;
    top: 0;
    bottom: 0;
    width: 3px;
    background: #e0e0e0;
}
.kp-timeline-v__step {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    padding-bottom: 1.5rem;
}
.kp-timeline-v__step:last-child {
    padding-bottom: 0;
}
.kp-timeline-v__dot {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e0e0e0;
    color: #aaa;
    font-size: .85rem;
    position: relative;
    z-index: 1;
    margin-left: -2.5rem;
}
.kp-timeline-v__step.done .kp-timeline-v__dot {
    background: #2e7d32;
    color: #fff;
}
.kp-timeline-v__step.active .kp-timeline-v__dot {
    background: #c0392b;
    color: #fff;
    box-shadow: 0 0 0 4px rgba(192,57,43,.2);
    animation: kp-pulse 2s infinite;
}
.kp-timeline-v__content {
    display: flex;
    flex-direction: column;
    padding-top: .35rem;
}
.kp-timeline-v__label {
    font-weight: 700;
    font-size: .9rem;
    color: #aaa;
}
.kp-timeline-v__step.done .kp-timeline-v__label,
.kp-timeline-v__step.active .kp-timeline-v__label {
    color: #1a1a2e;
}
.kp-timeline-v__desc {
    font-size: .8rem;
    color: #999;
    margin-top: .1rem;
}
.kp-timeline-v__step.done .kp-timeline-v__desc,
.kp-timeline-v__step.active .kp-timeline-v__desc {
    color: #666;
}

/* Tracking items */
.kp-tracking__items {
    margin-bottom: 1.5rem;
}
.kp-tracking__section-title {
    font-size: 1rem;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0 0 .75rem;
    padding-bottom: .5rem;
    border-bottom: 2px solid #eee;
}
.kp-tracking__item {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .65rem 0;
    border-bottom: 1px solid #f0f0f0;
}
.kp-tracking__item:last-child {
    border-bottom: none;
}
.kp-tracking__item-img {
    flex: 0 0 48px;
}
.kp-tracking__item-img img {
    width: 48px;
    height: 48px;
    object-fit: contain;
    border-radius: 6px;
    background: #f8f9fa;
}
.kp-tracking__item-info {
    flex: 1;
}
.kp-tracking__item-name {
    display: block;
    font-weight: 600;
    font-size: .88rem;
    color: #1a1a2e;
}
.kp-tracking__item-meta {
    font-size: .8rem;
    color: #888;
}

/* Summary grid */
.kp-tracking__summary-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1.5rem;
}
.kp-tracking__summary-card {
    background: #f8f9fa;
    border-radius: 10px;
    padding: 1rem;
}
.kp-tracking__summary-card h4 {
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #888;
    font-weight: 700;
    margin: 0 0 .5rem;
}
.kp-tracking__summary-card h4 i {
    margin-right: .3rem;
}
.kp-tracking__summary-card p {
    font-size: .88rem;
    color: #333;
    line-height: 1.6;
    margin: 0;
}
.kp-tracking__totals {
    display: flex;
    flex-direction: column;
    gap: .35rem;
}
.kp-tracking__total-row {
    display: flex;
    justify-content: space-between;
    font-size: .88rem;
    color: #555;
}
.kp-tracking__total-row--total {
    border-top: 2px solid #ddd;
    padding-top: .5rem;
    margin-top: .25rem;
    font-weight: 700;
    color: #1a1a2e;
    font-size: .95rem;
}

/* Help */
.kp-tracking__help {
    background: #e8f4fd;
    border-radius: 8px;
    padding: .85rem 1rem;
    font-size: .85rem;
    color: #1565c0;
    display: flex;
    align-items: center;
    gap: .5rem;
}

/* Tracking mobile */
@media (max-width: 600px) {
    .kp-tracking__title { font-size: 1.35rem; }
    .kp-tracking__order-bar {
        flex-direction: column;
        gap: .75rem;
    }
    .kp-tracking__summary-grid {
        grid-template-columns: 1fr;
    }
}

/* Hide page title on tracking page */
.page-template-page-track-your-order .entry__header {
    display: none !important;
}
