/* Chaikovska Classic Checkout 1.3 — Flora/03 theme.
   Layout + typography only. No overriding theme accent / button palette.
   Classic WooCommerce shortcode checkout, not the Blocks checkout. */

/* 01 — Clean two-column layout. The right side has NO enclosing box. */
body.cfc-checkout-layout form.checkout.woocommerce-checkout {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    column-gap: 48px;
    grid-template-rows: min-content 1fr;
    row-gap: 0;
    align-items: start;
}
body.cfc-checkout-layout form.checkout #customer_details {
    grid-column: 1;
    grid-row: 1 / span 2;
    display: block;
    min-width: 0;
    width: 100%;
    margin: 0;
}
body.cfc-checkout-layout form.checkout #customer_details::after,
body.cfc-checkout-layout #customer_details .woocommerce-billing-fields::after,
body.cfc-checkout-layout #customer_details .woocommerce-shipping-fields::after {
    content: "";
    display: block;
    clear: both;
}
/* Flora's old checkout template has .row > .col.col-6; make them full-width. */
body.cfc-checkout-layout form.checkout #customer_details > .col,
body.cfc-checkout-layout form.checkout #customer_details > .col.col-6 {
    float: none;
    display: block;
    width: 100%;
    max-width: none;
    padding: 0;
    margin: 0;
    clear: both;
}
body.cfc-checkout-layout form.checkout #customer_details > .col + .col {
    margin-top: 31px;
    padding-top: 27px;
    border-top: 1px solid #e3e3e3;
}

/* Order title and review are grid siblings in Flora's form-checkout.php. */
body.cfc-checkout-layout form.checkout #order_review_heading {
    grid-column: 2;
    grid-row: 1;
    margin: 0 0 4px;
    padding: 0 0 16px;
    min-width: 0;
    border: 0;
    border-bottom: 1px solid #dedede;
    background: transparent;
    font-size: 22px;
    line-height: 1.35;
}
body.cfc-checkout-layout form.checkout #order_review {
    grid-column: 2;
    grid-row: 2;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    box-shadow: none;
    background: transparent;
}

/* 02 — Billing and Shipping have their own visible headings. */
body.cfc-checkout-layout #customer_details h3 {
    font-size: 22px;
    line-height: 1.35;
    font-weight: 600;
    margin: 0 0 20px;
    padding: 0;
    background: transparent;
}
body.cfc-checkout-layout #customer_details .woocommerce-billing-fields,
body.cfc-checkout-layout #customer_details .woocommerce-shipping-fields,
body.cfc-checkout-layout #customer_details .woocommerce-additional-fields {
    min-width: 0;
}
body.cfc-checkout-layout #customer_details .form-row {
    margin-top: 0;
    margin-bottom: 18px;
    padding: 0;
    box-sizing: border-box;
}
body.cfc-checkout-layout #customer_details .form-row label {
    display: block;
    margin-bottom: 4px;
    line-height: 1.5;
    font-size: 14px;
    font-weight: 500;
}
/* Source form controls; boxed style overrides are appended for v1.2. */
body.cfc-checkout-layout #customer_details .form-row .input-text,
body.cfc-checkout-layout #customer_details .form-row input[type="text"],
body.cfc-checkout-layout #customer_details .form-row input[type="tel"],
body.cfc-checkout-layout #customer_details .form-row input[type="email"],
body.cfc-checkout-layout #customer_details .form-row textarea {
    width: 100%;
    max-width: 100%;
    min-height: 39px;
    padding: 8px 1px;
    margin: 0;
    font-size: 15px;
    line-height: 1.45;
    border: 0;
    border-bottom: 1px solid #bdbdbd;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    box-sizing: border-box;
}
body.cfc-checkout-layout #customer_details .form-row textarea {
    min-height: 74px;
}
body.cfc-checkout-layout #customer_details .form-row select {
    width: 100%;
    max-width: 100%;
    min-height: 40px;
    font-size: 15px;
    box-sizing: border-box;
}
/* Select2/SelectWoo country/state selectors in old and new classic WC. */
body.cfc-checkout-layout #customer_details .select2-container,
body.cfc-checkout-layout #customer_details .selectWoo-container {
    width: 100% !important;
}
body.cfc-checkout-layout #customer_details .select2-container .select2-choice,
body.cfc-checkout-layout #customer_details .select2-container .select2-selection--single,
body.cfc-checkout-layout #customer_details .selectWoo-container .select2-selection--single {
    height: 40px;
    min-height: 40px;
    border: 0;
    border-bottom: 1px solid #bdbdbd;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
body.cfc-checkout-layout #customer_details .select2-container .select2-selection__rendered,
body.cfc-checkout-layout #customer_details .selectWoo-container .select2-selection__rendered {
    padding-left: 0;
    line-height: 40px;
    font-size: 15px;
}
body.cfc-checkout-layout #customer_details .form-row-first,
body.cfc-checkout-layout #customer_details .form-row-last {
    box-sizing: border-box;
    width: calc(50% - 10px);
    max-width: calc(50% - 10px);
    clear: none;
}
body.cfc-checkout-layout #customer_details .form-row-first { float: left; }
body.cfc-checkout-layout #customer_details .form-row-last { float: right; }
body.cfc-checkout-layout #customer_details .form-row-wide { clear: both; }

/* 03 — Clear visual boundary for shipping without a second card-in-card. */
body.cfc-checkout-layout #customer_details .cfc-same-billing {
    margin: 0 0 12px;
}
body.cfc-checkout-layout #customer_details .cfc-same-billing h3.cfc-shipping-title {
    margin: 0 0 17px;
}
body.cfc-checkout-layout #customer_details .cfc-same-billing-label {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 13px 15px;
    border: 1px solid #dedede;
    font-size: 14px;
    line-height: 1.45;
    font-weight: 500;
    cursor: pointer;
}
body.cfc-checkout-layout #customer_details .cfc-same-billing-label input {
    display: inline-block;
    flex: 0 0 19px;
    width: 19px;
    height: 19px;
    padding: 0;
    margin: 0;
    cursor: pointer;
    /* Keep Flora's checkbox color / tick design. */
}
body.cfc-checkout-layout #customer_details .cfc-same-billing-note {
    margin: 9px 0 0 0;
    font-size: 13px;
    color: #777;
    line-height: 1.5;
}
/* Only hide the original shipping heading once the positive checkbox exists. */
body.cfc-checkout-layout #customer_details .cfc-shipping-ready #ship-to-different-address {
    display: none !important;
}
body.cfc-checkout-layout #customer_details .shipping_address {
    padding-top: 20px;
}

/* 04 — Artwork itemization: no double frames, no grey cells. */
body.cfc-checkout-layout form.checkout #order_review table.shop_table {
    table-layout: fixed;
    width: 100%;
    margin: 0 0 22px;
    padding: 0;
    border: 0 !important;
    border-radius: 0;
    border-collapse: collapse;
    border-spacing: 0;
    box-shadow: none;
    background: transparent;
    font-size: 14px;
    line-height: 1.55;
}
body.cfc-checkout-layout form.checkout #order_review table.shop_table th,
body.cfc-checkout-layout form.checkout #order_review table.shop_table td {
    border: 0;
    background: transparent !important;
    box-shadow: none;
    text-shadow: none;
    padding: 14px 0;
    vertical-align: middle;
    color: inherit;
    font-size: 14px;
    font-weight: 400;
    text-transform: none;
}
body.cfc-checkout-layout form.checkout #order_review table.shop_table thead th {
    padding: 8px 0 11px;
    border-bottom: 1px solid #e3e3e3;
    font-size: 11px;
    letter-spacing: .06em;
    text-transform: uppercase;
    font-weight: 600;
}
body.cfc-checkout-layout form.checkout #order_review table.shop_table .product-name {
    width: 69%;
    padding-right: 16px;
    text-align: left;
    overflow-wrap: anywhere;
}
body.cfc-checkout-layout form.checkout #order_review table.shop_table .product-total {
    width: 31%;
    text-align: right;
    white-space: nowrap;
    font-size: 15px;
}
body.cfc-checkout-layout form.checkout #order_review table.shop_table tbody tr.cart_item td {
    border-bottom: 1px solid #ebebeb;
    padding-top: 18px;
    padding-bottom: 18px;
}
body.cfc-checkout-layout .cfc-product-line {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}
body.cfc-checkout-layout .cfc-product-line .cfc-art-thumbnail {
    display: block;
    flex: 0 0 70px;
    width: 70px;
    max-width: 70px;
    height: 86px;
    max-height: 86px;
    object-fit: contain;
    padding: 0;
    margin: 0;
    background: transparent;
    border: 0;
}
body.cfc-checkout-layout .cfc-product-line .cfc-product-title {
    display: block;
    min-width: 0;
    line-height: 1.45;
    overflow-wrap: anywhere;
    font-size: 15px;
}
body.cfc-checkout-layout .cfc-product-line .cfc-product-title .product-quantity {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    font-weight: 400;
    color: #777;
}
/* Fallback when JS is disabled: quantity will be under item rather than lost. */
body.cfc-checkout-layout #order_review .product-name > .product-quantity {
    font-size: 12px;
    font-weight: 400;
    color: #777;
}

/* Totals are clean two-column rows without shaded label backgrounds. */
body.cfc-checkout-layout form.checkout #order_review table.shop_table tfoot tr th,
body.cfc-checkout-layout form.checkout #order_review table.shop_table tfoot tr td {
    padding-top: 12px;
    padding-bottom: 12px;
    border: 0;
    border-bottom: 1px solid #ededed;
    vertical-align: top;
    text-align: left;
    background: transparent !important;
    font-size: 14px;
}
body.cfc-checkout-layout form.checkout #order_review table.shop_table tfoot tr td {
    text-align: right;
}
body.cfc-checkout-layout form.checkout #order_review table.shop_table tfoot tr th {
    font-weight: 500;
}
body.cfc-checkout-layout form.checkout #order_review table.shop_table tfoot tr.order-total th,
body.cfc-checkout-layout form.checkout #order_review table.shop_table tfoot tr.order-total td {
    padding-top: 18px;
    padding-bottom: 14px;
    border-bottom: 0;
    font-size: 19px;
    line-height: 1.3;
    font-weight: 600;
}
body.cfc-checkout-layout form.checkout #order_review table.shop_table tfoot tr.order-total td strong,
body.cfc-checkout-layout form.checkout #order_review table.shop_table tfoot tr.order-total td .amount {
    font-size: inherit;
    line-height: inherit;
    font-weight: 600;
}
body.cfc-checkout-layout form.checkout #order_review ul#shipping_method,
body.cfc-checkout-layout form.checkout #order_review ul.woocommerce-shipping-methods {
    margin: 0;
    padding: 0;
    text-align: right;
}
body.cfc-checkout-layout form.checkout #order_review ul#shipping_method li,
body.cfc-checkout-layout form.checkout #order_review ul.woocommerce-shipping-methods li {
    list-style: none;
    margin: 0 0 5px;
    padding: 0;
    font-size: 14px;
    line-height: 1.45;
}
body.cfc-checkout-layout form.checkout #order_review ul#shipping_method li input,
body.cfc-checkout-layout form.checkout #order_review ul.woocommerce-shipping-methods li input {
    vertical-align: middle;
}

/* 05 — Payment stays with the original WooCommerce gateway code. */
body.cfc-checkout-layout form.checkout #order_review #payment {
    clear: both;
    width: 100%;
    margin: 12px 0 0;
    padding: 23px 0 0;
    border: 0;
    border-top: 1px solid #dedede;
    border-radius: 0;
    background: transparent;
}
body.cfc-checkout-layout form.checkout #order_review #payment .payment_methods {
    margin: 0 0 20px;
    padding: 0;
    background: transparent;
    border: 0;
}
body.cfc-checkout-layout form.checkout #order_review #payment .payment_methods > li {
    padding: 0;
    margin: 0 0 12px;
}
body.cfc-checkout-layout form.checkout #order_review #payment .place-order {
    width: 100%;
    margin: 0;
    padding: 13px 0 0;
    box-sizing: border-box;
    background: transparent;
}
body.cfc-checkout-layout form.checkout #order_review #payment .place-order .button,
body.cfc-checkout-layout form.checkout #order_review #payment .place-order #place_order {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* 06 — Responsive checkout, no skinny columns on tablets or mobile. */
@media (max-width: 1079px) {
    body.cfc-checkout-layout form.checkout.woocommerce-checkout {
        display: flex;
        flex-direction: column;
        gap: 0;
    }
    body.cfc-checkout-layout form.checkout #customer_details,
    body.cfc-checkout-layout form.checkout #order_review_heading,
    body.cfc-checkout-layout form.checkout #order_review {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }
    body.cfc-checkout-layout form.checkout #customer_details {
        margin-bottom: 34px;
    }
    body.cfc-checkout-layout form.checkout #order_review_heading {
        margin-bottom: 4px;
    }
}
@media (max-width: 560px) {
    body.cfc-checkout-layout #customer_details h3,
    body.cfc-checkout-layout form.checkout #order_review_heading {
        font-size: 20px;
    }
    body.cfc-checkout-layout #customer_details .form-row-first,
    body.cfc-checkout-layout #customer_details .form-row-last {
        float: none;
        clear: both;
        width: 100%;
        max-width: 100%;
    }
    body.cfc-checkout-layout .cfc-product-line { gap: 10px; }
    body.cfc-checkout-layout .cfc-product-line .cfc-art-thumbnail {
        flex: 0 0 54px;
        width: 54px;
        max-width: 54px;
        height: 66px;
        max-height: 66px;
    }
    body.cfc-checkout-layout form.checkout #order_review table.shop_table .product-name {
        width: 65%;
        padding-right: 10px;
    }
    body.cfc-checkout-layout form.checkout #order_review table.shop_table .product-total {
        width: 35%;
    }
    body.cfc-checkout-layout form.checkout #order_review table.shop_table .product-total,
    body.cfc-checkout-layout form.checkout #order_review table.shop_table th,
    body.cfc-checkout-layout form.checkout #order_review table.shop_table td {
        font-size: 13px;
    }
    body.cfc-checkout-layout form.checkout #order_review table.shop_table tfoot tr.order-total th,
    body.cfc-checkout-layout form.checkout #order_review table.shop_table tfoot tr.order-total td {
        font-size: 17px;
    }
}

/* =============================================================
   v1.2 — Editorial / gallery checkout improvements.
   No change to WooCommerce order submission, gateway or rates.
   ============================================================= */

/* Page heading replaces Flora's Shop > Checkout breadcrumb on this page only. */
body.cfc-checkout-layout nav.woocommerce-breadcrumb {
    display: none !important;
}
/* The coupon is a quiet one-line invitation, never a warning banner. */
body.cfc-checkout-layout .cfc-coupon-line,
body.cfc-checkout-layout .woocommerce-info:has(a.showcoupon) {
    border: none !important;
    border-top: 0 !important;
    border-bottom: 1px solid #e6e6e6 !important;
    padding: 0 0 17px !important;
    margin: 0 0 35px !important;
    min-height: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 14px;
    line-height: 1.6;
    font-weight: 400;
}
body.cfc-checkout-layout .cfc-coupon-line::before,
body.cfc-checkout-layout .woocommerce-info:has(a.showcoupon)::before {
    content: none !important;
    display: none !important;
}
body.cfc-checkout-layout .cfc-coupon-line a,
body.cfc-checkout-layout .woocommerce-info:has(a.showcoupon) a {
    text-decoration: underline;
    text-underline-offset: 3px;
}
body.cfc-checkout-layout form.checkout_coupon {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 11px 14px;
    margin: -18px 0 36px;
    padding: 18px 0 20px;
    border: 0;
    border-bottom: 1px solid #e8e8e8;
    background: transparent;
}
body.cfc-checkout-layout form.checkout_coupon > p:first-child {
    grid-column: 1 / -1;
    margin: 0 0 5px;
}
body.cfc-checkout-layout form.checkout_coupon p.form-row {
    float: none;
    clear: none;
    width: 100%;
    margin: 0;
    padding: 0;
}
body.cfc-checkout-layout form.checkout_coupon p.form-row-last {
    width: auto;
}
body.cfc-checkout-layout form.checkout_coupon input.input-text {
    min-height: 43px;
    height: 43px;
    padding: 9px 12px;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 2px;
    box-shadow: none;
    box-sizing: border-box;
}
body.cfc-checkout-layout form.checkout_coupon .button {
    min-height: 43px;
    box-sizing: border-box;
    white-space: nowrap;
}

/* Classic boxed input fields (only on Checkout). */
body.cfc-checkout-layout #customer_details .form-row .input-text,
body.cfc-checkout-layout #customer_details .form-row input[type="text"],
body.cfc-checkout-layout #customer_details .form-row input[type="tel"],
body.cfc-checkout-layout #customer_details .form-row input[type="email"],
body.cfc-checkout-layout #customer_details .form-row input[type="number"],
body.cfc-checkout-layout #customer_details .form-row textarea,
body.cfc-checkout-layout #customer_details .form-row select {
    min-height: 44px;
    padding: 10px 12px;
    margin: 0;
    border: 1px solid #cfcfcf !important;
    border-radius: 2px !important;
    background: #fff !important;
    box-shadow: none !important;
    font: inherit;
    font-size: 14px;
    color: inherit;
    line-height: 1.55;
    box-sizing: border-box;
}
body.cfc-checkout-layout #customer_details .form-row .input-text:focus,
body.cfc-checkout-layout #customer_details .form-row textarea:focus,
body.cfc-checkout-layout #customer_details .form-row select:focus {
    border-color: #8b8b8b !important;
    outline: 1px solid #8b8b8b;
    outline-offset: 0;
}
body.cfc-checkout-layout #customer_details .form-row textarea {
    min-height: 104px;
    padding-top: 10px;
    resize: vertical;
}
body.cfc-checkout-layout #customer_details .form-row label {
    margin: 0 0 7px;
    line-height: 1.5;
}
body.cfc-checkout-layout #customer_details .form-row {
    margin-bottom: 19px;
}
/* Woo Select2 3.x and Select2 4 / SelectWoo in the legacy checkout. */
body.cfc-checkout-layout #customer_details .select2-container .select2-choice,
body.cfc-checkout-layout #customer_details .select2-container .select2-selection--single,
body.cfc-checkout-layout #customer_details .selectWoo-container .select2-selection--single {
    display: block;
    min-height: 44px;
    height: 44px;
    padding: 0 12px !important;
    background: #fff !important;
    border: 1px solid #cfcfcf !important;
    border-radius: 2px !important;
    box-shadow: none !important;
    box-sizing: border-box;
}
body.cfc-checkout-layout #customer_details .select2-container .select2-choice > .select2-chosen,
body.cfc-checkout-layout #customer_details .select2-container .select2-selection__rendered,
body.cfc-checkout-layout #customer_details .selectWoo-container .select2-selection__rendered {
    line-height: 42px;
    padding-left: 0;
    font-size: 14px;
}
body.cfc-checkout-layout #customer_details .select2-container .select2-choice .select2-arrow {
    top: 1px;
    right: 1px;
    height: 40px;
}

/* Clear separation of Delivery from Billing. Delivery textarea is always visible. */
body.cfc-checkout-layout form.checkout #customer_details > .col + .col {
    margin-top: 36px;
    padding-top: 30px;
    border-top: 1px solid #dedede;
}
body.cfc-checkout-layout #customer_details .woocommerce-additional-fields > h3 {
    display: none;
}
body.cfc-checkout-layout #customer_details .woocommerce-additional-fields {
    display: block;
    margin-top: 26px;
    clear: both;
}
body.cfc-checkout-layout #customer_details #order_comments_field {
    display: block;
    margin: 0;
}
body.cfc-checkout-layout #customer_details #order_comments_field textarea {
    display: block;
}
body.cfc-checkout-layout #customer_details .cfc-same-billing-label {
    border-color: #dedede;
    border-radius: 2px;
}

/* Payment details: unobtrusive PayPal SVG and balanced terms/CTA spacing. */
body.cfc-checkout-layout #payment .payment_method_paypal img.cfc-paypal-svg,
body.cfc-checkout-layout #payment img.cfc-paypal-svg {
    display: inline-block;
    width: 125px;
    height: 36px;
    max-width: 125px;
    max-height: 36px;
    margin: 0 10px 0 9px;
    padding: 0;
    vertical-align: middle;
    object-fit: contain;
    background: transparent;
    border: 0;
    box-shadow: none;
}
body.cfc-checkout-layout #order_review #payment .place-order {
    padding-top: 8px;
}
body.cfc-checkout-layout #payment .woocommerce-privacy-policy-text,
body.cfc-checkout-layout #payment .woocommerce-privacy-policy-text p {
    font-size: 13px;
    line-height: 1.65;
    margin: 0 0 14px;
}
body.cfc-checkout-layout #payment .woocommerce-terms-and-conditions-wrapper {
    margin: 15px 0 22px;
}
body.cfc-checkout-layout #payment .place-order p.form-row.terms,
body.cfc-checkout-layout #payment .place-order p.terms,
body.cfc-checkout-layout #payment .place-order .woocommerce-form__label-for-checkbox {
    margin-top: 17px;
    margin-bottom: 22px;
    line-height: 1.55;
}
body.cfc-checkout-layout #payment .place-order .woocommerce-form__label-for-checkbox {
    font-size: 14px;
    line-height: 1.6;
    font-weight: 400;
}
body.cfc-checkout-layout #payment .place-order .woocommerce-form__label-for-checkbox input[type="checkbox"],
body.cfc-checkout-layout #payment .place-order input#terms {
    display: inline-block;
    vertical-align: middle;
    width: 17px;
    height: 17px;
    margin: 0 10px 0 0;
}
body.cfc-checkout-layout form.checkout #order_review #payment .place-order #place_order {
    display: block;
    width: 100%;
    min-height: 50px;
    height: auto;
    padding: 12px 18px;
    margin-top: 14px;
    font: inherit;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 1.5;
    border-radius: 0;
    box-sizing: border-box;
}

@media (max-width: 560px) {
    body.cfc-checkout-layout form.checkout_coupon {
        grid-template-columns: minmax(0, 1fr);
    }
    body.cfc-checkout-layout form.checkout_coupon > p:first-child {
        grid-column: 1;
    }
    body.cfc-checkout-layout form.checkout_coupon p.form-row-last,
    body.cfc-checkout-layout form.checkout_coupon .button {
        width: 100%;
    }
}

/* =============================================================
   v1.3 — Light gallery order review, compact coupon and PayPal.
   No theme palette, order-processing or payment logic is changed.
   ============================================================= */

/* No extra heading styling: v1.3 outputs an ordinary <h1>Checkout</h1>
   and the Flora theme supplies its native h1 styling. */

/* Your Order: background ONLY behind the item/totals table, not payment.
   Use no frame, keep divider lines edge-to-edge; inset text by 4px. */
body.cfc-checkout-layout form.checkout #order_review table.shop_table {
    background: #f7f7f7 !important;
    border: 0 !important;
    border-radius: 0 !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    box-shadow: none !important;
}
body.cfc-checkout-layout form.checkout #order_review table.shop_table thead th,
body.cfc-checkout-layout form.checkout #order_review table.shop_table tbody td,
body.cfc-checkout-layout form.checkout #order_review table.shop_table tfoot th,
body.cfc-checkout-layout form.checkout #order_review table.shop_table tfoot td {
    padding-left: 4px;
    padding-right: 4px;
    background: transparent !important;
    background-color: transparent !important;
}
body.cfc-checkout-layout form.checkout #order_review table.shop_table .product-name {
    padding-left: 4px;
    padding-right: 12px;
}
body.cfc-checkout-layout form.checkout #order_review table.shop_table .product-total {
    padding-right: 4px;
}
body.cfc-checkout-layout form.checkout #order_review table.shop_table tbody tr.cart_item td,
body.cfc-checkout-layout form.checkout #order_review table.shop_table thead th,
body.cfc-checkout-layout form.checkout #order_review table.shop_table tfoot tr th,
body.cfc-checkout-layout form.checkout #order_review table.shop_table tfoot tr td {
    box-shadow: none;
}

/* Coupon as in the classic Flora Cart: small input + adjacent button.
   Not a huge stretched checkout form. */
body.cfc-checkout-layout form.checkout_coupon {
    display: flex !important;
    flex-wrap: wrap;
    gap: 10px 12px;
    align-items: center;
    justify-content: flex-start;
    margin: -16px 0 30px;
    padding: 12px 0 20px;
    border: 0;
    border-bottom: 1px solid #e8e8e8;
    background: transparent;
}
body.cfc-checkout-layout form.checkout_coupon > p:first-child {
    flex: 0 0 100%;
    width: 100%;
    margin: 0 0 5px;
    line-height: 1.5;
}
body.cfc-checkout-layout form.checkout_coupon p.form-row {
    float: none;
    clear: none;
    margin: 0;
    padding: 0;
}
body.cfc-checkout-layout form.checkout_coupon p.form-row-first {
    flex: 0 1 200px;
    width: 200px;
    max-width: 100%;
}
body.cfc-checkout-layout form.checkout_coupon p.form-row-last {
    flex: 0 0 auto;
    width: auto;
}
body.cfc-checkout-layout form.checkout_coupon input.input-text {
    display: block;
    width: 100%;
    height: 36px;
    min-height: 36px;
    padding: 4px 7px;
    margin: 0;
    font-size: 14px;
    border: 1px solid #cfcfcf;
    box-sizing: border-box;
}
body.cfc-checkout-layout form.checkout_coupon .button {
    display: inline-block;
    width: auto;
    max-width: 100%;
    min-height: 36px;
    height: 36px;
    margin: 0;
    padding: 5px 16px;
    font-size: 13px;
    line-height: 22px;
    box-sizing: border-box;
    white-space: nowrap;
}

/* Compact supplied SVG. Gateway name is omitted via WooCommerce filter,
   not via a broad CSS rule that might hide other gateway labels. */
body.cfc-checkout-layout #payment .payment_method_paypal img.cfc-paypal-svg,
body.cfc-checkout-layout #payment img.cfc-paypal-svg {
    width: 96px;
    height: 30px;
    max-width: 96px;
    max-height: 30px;
    margin: 0 9px 0 0;
}

@media (max-width: 560px) {
    body.cfc-checkout-layout form.checkout_coupon {
        flex-direction: row;
        flex-wrap: wrap;
    }
    body.cfc-checkout-layout form.checkout_coupon p.form-row-first {
        width: min(200px, 100%);
        flex: 1 1 150px;
    }
    body.cfc-checkout-layout form.checkout_coupon p.form-row-last {
        flex: 0 0 auto;
        width: auto;
    }
    body.cfc-checkout-layout form.checkout_coupon .button {
        width: auto;
    }
}


/* =============================================================
   v1.4 — Exact edge insets, 30px page title, reliable coupon toggle.
   ============================================================= */

/* Ordinary H1 with only its requested size overridden. */
body.cfc-checkout-layout #cfc-checkout-title {
    font-size: 30px;
}

/* Padding INSIDE the grey order background, not on the table itself:
   borders on table cells still run flush edge-to-edge. The stronger
   selectors override Flora's legacy .shop_table cell rules as well. */
body.cfc-checkout-layout form.checkout #order_review table.shop_table thead tr > th:first-child,
body.cfc-checkout-layout form.checkout #order_review table.shop_table tbody tr > td:first-child,
body.cfc-checkout-layout form.checkout #order_review table.shop_table tfoot tr > th:first-child,
body.cfc-checkout-layout form.checkout #order_review table.shop_table tfoot tr > td:first-child {
    padding-left: 4px !important;
}
body.cfc-checkout-layout form.checkout #order_review table.shop_table thead tr > th:last-child,
body.cfc-checkout-layout form.checkout #order_review table.shop_table tbody tr > td:last-child,
body.cfc-checkout-layout form.checkout #order_review table.shop_table tfoot tr > th:last-child,
body.cfc-checkout-layout form.checkout #order_review table.shop_table tfoot tr > td:last-child {
    padding-right: 4px !important;
}
/* Reset theme image spacing so the image begins inside its cell. */
body.cfc-checkout-layout #order_review table.shop_table .cfc-product-line .cfc-art-thumbnail {
    margin-left: 0 !important;
}

/* The coupon's collapsed state must beat the previous v1.3
   display:flex!important rule. Expanded state is only set by our click
   handler and never permanently enabled by CSS. */
body.cfc-checkout-layout form.checkout_coupon {
    display: none !important;
}
body.cfc-checkout-layout form.checkout_coupon.cfc-coupon-open {
    display: flex !important;
}
