/*
 * AlapDesk Popup Checkout — Frontend UI
 * v0.2.3 Reference-Matched Minimal & Clean Layout
 *
 * Presentation only. WooCommerce remains authoritative for checkout,
 * shipping, payment, totals and order submission.
 */

.adpc-widget,
.adpc-native-checkout {
    --adpc-accent: #2563eb;
    --adpc-accent-hover: #1d4ed8;
    --adpc-success: #16a34a;
    --adpc-text: #0f172a;
    --adpc-body-text: #334155;
    --adpc-muted: #64748b;
    --adpc-line: #e5eaf1;
    --adpc-line-soft: #edf2f7;
    --adpc-surface: #ffffff;
    --adpc-canvas: #f8fafc;
    --adpc-input-bg: #ffffff;
    --adpc-section-radius: 12px;
    --adpc-input-radius: 8px;
    --adpc-button-radius: 8px;
    --adpc-icon-name: #2563eb;
    --adpc-icon-phone: #16a34a;
    --adpc-icon-address: #f97316;
    --adpc-option-accent: #2563eb;
    color: var(--adpc-body-text);
    font-family: "Hind Siliguri", system-ui, -apple-system, "Segoe UI", sans-serif;
    font-size: 14px;
    line-height: 1.5;
    box-sizing: border-box;
}

.adpc-widget *,
.adpc-native-checkout * {
    box-sizing: border-box;
}

/* ---------- Shell / heading ---------- */
.adpc-checkout-shell {
    position: relative;
    width: min(100%, 1080px);
    margin: 0 auto;
    padding: 20px;
    border: 1px solid var(--adpc-line);
    border-radius: 14px;
    background: var(--adpc-surface);
}

.adpc-checkout-title {
    margin: 0;
    color: var(--adpc-text);
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    text-align: left;
}

.adpc-checkout-subtitle {
    margin: 4px 0 18px;
    color: var(--adpc-muted);
    font-size: 14px;
    line-height: 1.45;
    text-align: left;
}

.adpc-popup-trigger-wrap {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: flex-start;
}

.adpc-popup-trigger {
    min-height: 48px;
    padding: 12px 22px;
    border: 0;
    border-radius: 9px;
    background: var(--adpc-accent);
    color: #fff;
    font: inherit;
    font-weight: 700;
    text-align: center;
    cursor: pointer;
    transition: transform .16s ease, background-color .16s ease, box-shadow .16s ease;
}

.adpc-popup-trigger:hover {
    background: var(--adpc-accent-hover);
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(37, 99, 235, .16);
}

.adpc-editor-note,
.adpc-empty-checkout {
    margin: 0 0 16px;
    padding: 13px 15px;
    border: 1px dashed #cbd5e1;
    border-radius: 9px;
    background: #fffbeb;
    color: #475569;
}

.adpc-body-locked {
    overflow: hidden !important;
}

/* ---------- Product selector (v0.2.0 functionality, v0.2.1 visual pass) ---------- */
.adpc-product-selector {
    margin: 0 0 16px;
}

.adpc-product-selector__heading {
    margin: 0 0 10px;
    color: var(--adpc-text);
    font-size: 16px;
    font-weight: 650;
    line-height: 1.35;
    text-align: left;
}

.adpc-product-selector__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}

.adpc-product-card {
    position: relative;
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 12px;
    padding: 11px;
    border: 1px solid var(--adpc-line);
    border-radius: 10px;
    background: var(--adpc-surface);
    cursor: pointer;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.adpc-product-card:hover {
    border-color: #b7c3d2;
    transform: translateY(-1px);
}

.adpc-product-card.is-selected {
    border-color: var(--adpc-success);
    box-shadow: 0 0 0 1px var(--adpc-success);
}

.adpc-product-card__input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.adpc-product-card__check {
    position: absolute;
    top: 8px;
    right: 8px;
    display: flex;
    width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--adpc-success);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    opacity: 0;
    transform: scale(.82);
    transition: opacity .16s ease, transform .16s ease;
}

.adpc-product-card.is-selected .adpc-product-card__check {
    opacity: 1;
    transform: scale(1);
}

.adpc-product-card__media {
    flex: 0 0 62px;
    width: 62px;
    height: 62px;
    overflow: hidden;
    border-radius: 8px;
    background: #f1f5f9;
}

.adpc-product-card__image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    object-fit: cover !important;
}

.adpc-product-card__body {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    gap: 3px;
    padding-right: 18px;
}

.adpc-product-card__title {
    color: var(--adpc-text);
    font-size: 14px;
    font-weight: 650;
    line-height: 1.35;
}

.adpc-product-card__price {
    color: var(--adpc-success);
    font-size: 14px;
    font-weight: 700;
}

.adpc-product-card__notice {
    color: #b45309;
    line-height: 1.35;
}

.adpc-products-updating .adpc-product-selector {
    opacity: .62;
    pointer-events: none;
}

/* ---------- Native WooCommerce checkout ---------- */
.adpc-native-checkout {
    width: 100%;
    max-width: 1040px;
    margin: 0 auto;
    padding: 0;
}

.adpc-native-checkout > .woocommerce,
.adpc-native-checkout form.checkout,
.adpc-native-checkout #customer_details,
.adpc-native-checkout #order_review,
.adpc-native-checkout #order_review_heading,
.adpc-native-checkout .woocommerce-checkout-review-order-table,
.adpc-native-checkout .woocommerce-checkout-payment,
.adpc-native-checkout .woocommerce-shipping-methods,
.adpc-native-checkout .wc_payment_methods {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

/*
 * Layout authority guard.
 * WooCommerce themes commonly float #customer_details / #order_review and
 * assign fixed percentages. Those rules are valid for the theme checkout but
 * must not leak into the AlapDesk-managed grid, otherwise Single Column and
 * Two Columns can both collapse into a very narrow order-review column.
 */
.adpc-native-checkout > .woocommerce,
.adpc-native-checkout form.checkout {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
}

.adpc-native-checkout #customer_details,
.adpc-native-checkout #order_review_heading,
.adpc-native-checkout #order_review {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    clear: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

.adpc-native-checkout > .woocommerce {
    background: transparent;
}

.adpc-native-checkout form.checkout {
    display: block;
    margin: 0 !important;
}

.adpc-native-checkout .woocommerce-NoticeGroup {
    grid-column: 1 / -1;
}

.adpc-native-checkout .woocommerce-error,
.adpc-native-checkout .woocommerce-info,
.adpc-native-checkout .woocommerce-message {
    margin: 0 0 16px;
    padding: 13px 15px;
    border: 1px solid var(--adpc-line);
    border-radius: 9px;
    background: #fff;
}

/* ---------- Cards ---------- */
.adpc-native-checkout .woocommerce-billing-fields,
.adpc-native-checkout .woocommerce-shipping-fields,
.adpc-native-checkout .woocommerce-additional-fields,
.adpc-native-checkout #order_review {
    padding: 18px;
    border: 1px solid var(--adpc-line);
    border-radius: var(--adpc-section-radius);
    background: var(--adpc-surface);
    box-shadow: 0 1px 4px rgba(15, 23, 42, .035);
}

.adpc-native-checkout .woocommerce-shipping-fields,
.adpc-native-checkout .woocommerce-additional-fields {
    margin-top: 16px;
}

.adpc-native-checkout h3,
.adpc-native-checkout .woocommerce-billing-fields > h3,
.adpc-native-checkout #order_review_heading {
    width: 100%;
    margin: 0 0 14px;
    padding: 0;
    color: var(--adpc-text);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -.01em;
    text-align: left;
}

/* ---------- Fields ---------- */
.adpc-native-checkout .col2-set {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.adpc-native-checkout .col2-set .col-1,
.adpc-native-checkout .col2-set .col-2 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 100% !important;
    float: none !important;
    margin: 0 !important;
}

.adpc-native-checkout .woocommerce-billing-fields,
.adpc-native-checkout .woocommerce-shipping-fields,
.adpc-native-checkout .woocommerce-additional-fields {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.adpc-native-checkout .woocommerce-billing-fields__field-wrapper,
.adpc-native-checkout .woocommerce-shipping-fields__field-wrapper {
    display: flex;
    flex-wrap: wrap;
    column-gap: 2%;
}

.adpc-native-checkout .form-row {
    box-sizing: border-box;
    margin: 0 0 14px !important;
    padding: 0 !important;
    float: none !important;
}

.adpc-native-checkout .form-row.adpc-width-50,
.adpc-native-checkout .form-row.form-row-first,
.adpc-native-checkout .form-row.form-row-last {
    width: 49% !important;
}

.adpc-native-checkout .form-row.adpc-width-100,
.adpc-native-checkout .form-row.form-row-wide {
    width: 100% !important;
}

.adpc-native-checkout .form-row label {
    display: block;
    margin: 0 0 7px;
    color: #334155;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
}

.adpc-native-checkout .form-row label .required {
    color: #ef4444;
    text-decoration: none;
}

.adpc-native-checkout .woocommerce-input-wrapper {
    display: block;
    width: 100%;
}

.adpc-native-checkout input.input-text,
.adpc-native-checkout textarea,
.adpc-native-checkout select,
.adpc-native-checkout .select2-container .select2-selection--single {
    width: 100% !important;
    min-height: 48px;
    padding: 10px 13px;
    border: 1px solid #dbe2ea;
    border-radius: var(--adpc-input-radius);
    outline: none;
    background: var(--adpc-input-bg);
    color: #111827;
    box-shadow: none;
    font: inherit;
    font-size: 14px;
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.adpc-native-checkout textarea {
    min-height: 92px;
    resize: vertical;
}

.adpc-native-checkout input.input-text::placeholder,
.adpc-native-checkout textarea::placeholder {
    color: #94a3b8;
    opacity: 1;
}

.adpc-native-checkout input.input-text:focus,
.adpc-native-checkout textarea:focus,
.adpc-native-checkout select:focus,
.adpc-native-checkout .select2-container--open .select2-selection--single {
    border-color: var(--adpc-accent);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .10);
}

.adpc-native-checkout .select2-container .select2-selection--single {
    padding: 0 12px;
}

.adpc-native-checkout .select2-container .select2-selection--single .select2-selection__rendered {
    padding: 0;
    line-height: 46px;
}

.adpc-native-checkout .select2-container .select2-selection--single .select2-selection__arrow {
    height: 46px;
}

/* Primary-field label icons. Separate soft icon tile + colorable SVG mask. */
.adpc-native-checkout #billing_first_name_field > label,
.adpc-native-checkout #billing_phone_field > label,
.adpc-native-checkout #billing_address_1_field > label {
    position: relative;
    display: flex;
    min-height: 30px;
    align-items: center;
    padding-left: 38px;
}

.adpc-native-checkout #billing_first_name_field > label::before,
.adpc-native-checkout #billing_phone_field > label::before,
.adpc-native-checkout #billing_address_1_field > label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 30px;
    height: 30px;
    border-radius: 8px;
}

.adpc-native-checkout #billing_first_name_field > label::after,
.adpc-native-checkout #billing_phone_field > label::after,
.adpc-native-checkout #billing_address_1_field > label::after {
    content: "";
    position: absolute;
    left: 7px;
    top: 7px;
    width: 16px;
    height: 16px;
    background: currentColor;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.adpc-native-checkout #billing_first_name_field > label::before { background: #eff6ff; }
.adpc-native-checkout #billing_phone_field > label::before { background: #ecfdf5; }
.adpc-native-checkout #billing_address_1_field > label::before { background: #fff7ed; }
.adpc-native-checkout #billing_first_name_field > label::after {
    color: var(--adpc-icon-name);
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10Zm0 2c-5.33 0-9 2.67-9 6v2h18v-2c0-3.33-3.67-6-9-6Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10Zm0 2c-5.33 0-9 2.67-9 6v2h18v-2c0-3.33-3.67-6-9-6Z'/%3E%3C/svg%3E");
}
.adpc-native-checkout #billing_phone_field > label::after {
    color: var(--adpc-icon-phone);
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M6.62 10.79a15.5 15.5 0 0 0 6.59 6.59l2.2-2.2c.28-.28.69-.36 1.05-.24 1.15.38 2.39.59 3.54.59.56 0 1 .44 1 1V20c0 .56-.44 1-1 1C10.61 21 3 13.39 3 4c0-.56.44-1 1-1h3.5c.56 0 1 .44 1 1 0 1.15.21 2.39.59 3.54.12.36.04.77-.24 1.05l-2.23 2.2Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M6.62 10.79a15.5 15.5 0 0 0 6.59 6.59l2.2-2.2c.28-.28.69-.36 1.05-.24 1.15.38 2.39.59 3.54.59.56 0 1 .44 1 1V20c0 .56-.44 1-1 1C10.61 21 3 13.39 3 4c0-.56.44-1 1-1h3.5c.56 0 1 .44 1 1 0 1.15.21 2.39.59 3.54.12.36.04.77-.24 1.05l-2.23 2.2Z'/%3E%3C/svg%3E");
}
.adpc-native-checkout #billing_address_1_field > label::after {
    color: var(--adpc-icon-address);
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2a8 8 0 0 0-8 8c0 5.25 8 12 8 12s8-6.75 8-12a8 8 0 0 0-8-8Zm0 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2a8 8 0 0 0-8 8c0 5.25 8 12 8 12s8-6.75 8-12a8 8 0 0 0-8-8Zm0 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6Z'/%3E%3C/svg%3E");
}

/* ---------- Order summary ---------- */
.adpc-native-checkout #order_review {
    overflow: hidden;
}

.adpc-native-checkout .woocommerce-checkout-review-order-table {
    width: 100% !important;
    margin: 0 0 12px;
    border: 0 !important;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 14px;
}

.adpc-native-checkout .woocommerce-checkout-review-order-table thead {
    display: none;
}

.adpc-native-checkout .woocommerce-checkout-review-order-table th,
.adpc-native-checkout .woocommerce-checkout-review-order-table td {
    min-width: 0;
    padding: 11px 0 !important;
    border: 0;
    border-bottom: 1px solid var(--adpc-line-soft);
    background: transparent;
    vertical-align: top !important;
    overflow-wrap: anywhere;
}

.adpc-native-checkout .woocommerce-checkout-review-order-table th:first-child,
.adpc-native-checkout .woocommerce-checkout-review-order-table td:first-child {
    width: 62%;
    padding-right: 12px !important;
}

.adpc-native-checkout .woocommerce-checkout-review-order-table th:last-child,
.adpc-native-checkout .woocommerce-checkout-review-order-table td:last-child {
    width: 38%;
    text-align: right;
}

.adpc-native-checkout .woocommerce-checkout-review-order-table .cart_item .product-name {
    color: var(--adpc-body-text);
    font-weight: 500;
    line-height: 1.45;
}

.adpc-native-checkout .woocommerce-checkout-review-order-table .product-quantity {
    color: var(--adpc-muted);
}

.adpc-native-checkout .woocommerce-checkout-review-order-table tfoot th {
    color: #475569;
    font-size: 13px;
    font-weight: 600;
}

.adpc-native-checkout .woocommerce-checkout-review-order-table .order-total th,
.adpc-native-checkout .woocommerce-checkout-review-order-table .order-total td {
    padding-top: 16px !important;
    padding-bottom: 6px !important;
    border-bottom: 0;
    color: var(--adpc-text);
    font-size: 18px;
    font-weight: 750;
}

.adpc-native-checkout .woocommerce-checkout-review-order-table .order-total .amount {
    color: var(--adpc-text);
    font-weight: 750;
}

/* Shipping methods: normalize theme-dependent list markup. */
.adpc-native-checkout ul#shipping_method,
.adpc-native-checkout .woocommerce-shipping-methods {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.adpc-native-checkout ul#shipping_method li,
.adpc-native-checkout .woocommerce-shipping-methods li {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: 18px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 7px !important;
    margin: 0 0 7px !important;
    padding: 0 !important;
    list-style: none !important;
    text-align: left !important;
}

.adpc-native-checkout ul#shipping_method li::marker,
.adpc-native-checkout .woocommerce-shipping-methods li::marker {
    content: "";
    font-size: 0;
}

.adpc-native-checkout ul#shipping_method input,
.adpc-native-checkout .woocommerce-shipping-methods input,
.adpc-native-checkout .wc_payment_method > input {
    accent-color: var(--adpc-option-accent);
}

.adpc-native-checkout ul#shipping_method input,
.adpc-native-checkout .woocommerce-shipping-methods input {
    float: none !important;
    width: 16px !important;
    height: 16px !important;
    margin: 3px 0 0 !important;
}

.adpc-native-checkout ul#shipping_method label,
.adpc-native-checkout .woocommerce-shipping-methods label {
    display: flex !important;
    min-width: 0 !important;
    width: 100% !important;
    justify-content: space-between !important;
    gap: 9px !important;
    margin: 0 !important;
    color: var(--adpc-body-text);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.45;
    cursor: pointer;
}

.adpc-native-checkout ul#shipping_method label .woocommerce-Price-amount,
.adpc-native-checkout .woocommerce-shipping-methods label .woocommerce-Price-amount {
    flex: 0 0 auto;
    white-space: nowrap;
    font-weight: 650;
}

.adpc-native-checkout .woocommerce-shipping-totals td {
    padding-left: 8px !important;
}

/* ---------- Payment ---------- */
.adpc-native-checkout .woocommerce-checkout-payment {
    margin-top: 8px;
    border: 1px solid var(--adpc-line-soft);
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
}

.adpc-native-checkout .wc_payment_methods {
    margin: 0 !important;
    padding: 4px 15px !important;
    border-bottom: 1px solid var(--adpc-line-soft);
    background: #fff;
    list-style: none !important;
}

.adpc-native-checkout .wc_payment_method {
    min-width: 0 !important;
    padding: 10px 0 !important;
    list-style: none !important;
}

.adpc-native-checkout .wc_payment_method > input {
    float: none !important;
    margin: 3px 7px 0 0 !important;
    vertical-align: top;
}

.adpc-native-checkout .wc_payment_method > label {
    display: inline !important;
    margin: 0 !important;
    color: var(--adpc-body-text);
    font-weight: 600;
    overflow-wrap: anywhere;
}

.adpc-native-checkout .payment_box {
    margin: 8px 0 !important;
    padding: 11px 12px !important;
    border-radius: 8px;
    background: var(--adpc-canvas);
    color: var(--adpc-muted);
    font-size: 12px;
}

.adpc-native-checkout .payment_box::before {
    display: none !important;
}

.adpc-native-checkout .place-order {
    margin: 0 !important;
    padding: 15px !important;
}

.adpc-native-checkout .woocommerce-privacy-policy-text {
    margin: 0 0 12px;
    color: var(--adpc-muted);
    font-size: 11px;
    line-height: 1.45;
}

.adpc-native-checkout #place_order {
    float: none !important;
    width: 100% !important;
    min-height: 50px;
    padding: 13px 20px;
    border: 0 !important;
    border-radius: var(--adpc-button-radius);
    background: var(--adpc-accent);
    color: #fff;
    box-shadow: 0 5px 14px rgba(37, 99, 235, .14);
    font: inherit;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: none;
    transition: transform .15s ease, background-color .15s ease, box-shadow .15s ease;
}

.adpc-native-checkout #place_order::after {
    content: " →";
    margin-left: 5px;
    font-size: 18px;
    font-weight: 500;
}

.adpc-native-checkout #place_order:hover {
    background: var(--adpc-accent-hover);
    transform: translateY(-1px);
    box-shadow: 0 7px 18px rgba(37, 99, 235, .20);
}

.adpc-native-checkout #place_order:focus-visible {
    outline: 3px solid rgba(37, 99, 235, .22);
    outline-offset: 2px;
}

.adpc-native-checkout .place-order::after {
    content: "🔒  Secure checkout • Your data is safe";
    display: block;
    margin-top: 9px;
    color: #7c8799;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.3;
    text-align: center;
}

/* ---------- Layout ---------- */
/*
 * Reference-matched layout authority. The approved Minimal & Clean concept
 * uses a compact centered canvas, balanced columns and a small controlled gap.
 * Theme/WooCommerce float/flex widths are explicitly neutralized above.
 */
.adpc-native-checkout.adpc-layout-single_column {
    width: min(100%, 860px);
    max-width: 860px;
    margin: 0 auto;
}

.adpc-native-checkout.adpc-layout-single_column form.checkout {
    display: block !important;
}

.adpc-native-checkout.adpc-layout-single_column #customer_details,
.adpc-native-checkout.adpc-layout-single_column #order_review_heading,
.adpc-native-checkout.adpc-layout-single_column #order_review {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    position: static !important;
}

.adpc-native-checkout.adpc-layout-single_column #order_review_heading {
    margin-top: 16px !important;
}

/* WooCommerce outputs the order heading as a sibling. Join it visually to the
 * order review so the reference reads as one card without changing markup. */
.adpc-native-checkout #order_review_heading {
    margin: 0 !important;
    padding: 18px 18px 8px !important;
    border: 1px solid var(--adpc-line);
    border-bottom: 0;
    border-radius: var(--adpc-section-radius) var(--adpc-section-radius) 0 0;
    background: var(--adpc-surface);
}

.adpc-native-checkout #order_review {
    margin-top: 0 !important;
    padding-top: 8px;
    border-top: 0;
    border-radius: 0 0 var(--adpc-section-radius) var(--adpc-section-radius);
}

@media (min-width: 901px) {
    .adpc-native-checkout.adpc-layout-two_columns {
        width: 100%;
        max-width: 1040px;
        margin: 0 auto;
    }

    .adpc-native-checkout.adpc-layout-two_columns form.checkout {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        grid-template-rows: auto auto;
        column-gap: 16px !important;
        row-gap: 0;
        align-items: start;
        width: 100% !important;
    }

    .adpc-native-checkout.adpc-layout-two_columns #customer_details {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        align-self: start;
        width: 100% !important;
    }

    .adpc-native-checkout.adpc-layout-two_columns #order_review_heading {
        grid-column: 2 !important;
        grid-row: 1 !important;
        align-self: end;
        width: 100% !important;
    }

    .adpc-native-checkout.adpc-layout-two_columns #order_review {
        grid-column: 2 !important;
        grid-row: 2 !important;
        width: 100% !important;
        min-width: 0 !important;
        position: static !important;
        top: auto;
        align-self: start;
    }
}

/* ---------- Elementor Builder Products preview ---------- */
.adpc-editor-checkout-preview .adpc-editor-preview-form input:disabled,
.adpc-editor-checkout-preview .adpc-editor-preview-form textarea:disabled,
.adpc-editor-checkout-preview .adpc-editor-preview-form select:disabled,
.adpc-editor-checkout-preview #place_order:disabled {
    opacity: 1;
    cursor: default;
}

.adpc-editor-checkout-preview .adpc-editor-preview-form input:disabled,
.adpc-editor-checkout-preview .adpc-editor-preview-form textarea:disabled,
.adpc-editor-checkout-preview .adpc-editor-preview-form select:disabled {
    color: #64748b;
    -webkit-text-fill-color: #64748b;
    background: #fff;
}

.adpc-editor-checkout-preview .adpc-editor-live-value {
    color: var(--adpc-muted);
    font-size: 11px;
    font-weight: 500;
    white-space: normal;
}

.adpc-editor-checkout-preview .adpc-editor-payment-preview {
    margin-top: 8px;
    padding: 14px;
    border: 1px solid var(--adpc-line-soft);
    border-radius: 9px;
    background: #fff;
}

.adpc-editor-checkout-preview .adpc-editor-payment-line {
    display: grid;
    grid-template-columns: 16px minmax(0, auto) minmax(0, 1fr);
    gap: 7px;
    align-items: center;
    color: var(--adpc-body-text);
    font-size: 12px;
}

.adpc-editor-checkout-preview .adpc-editor-payment-line > span:last-child {
    min-width: 0;
    color: var(--adpc-muted);
    text-align: right;
}

.adpc-editor-checkout-preview .adpc-editor-radio {
    width: 14px;
    height: 14px;
    border: 4px solid var(--adpc-option-accent);
    border-radius: 50%;
    box-sizing: border-box;
}

.adpc-editor-checkout-preview .adpc-editor-notes-preview {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--adpc-line-soft);
    color: var(--adpc-muted);
    font-size: 11px;
}

.adpc-editor-checkout-preview .place-order {
    width: 100% !important;
    margin-top: 14px !important;
}

/* ---------- Optional-section hard fallback ---------- */
.adpc-native-checkout.adpc-hide-coupon .woocommerce-form-coupon-toggle,
.adpc-native-checkout.adpc-hide-coupon form.checkout_coupon,
.adpc-native-checkout[data-adpc-show-coupon="no"] .woocommerce-form-coupon-toggle,
.adpc-native-checkout[data-adpc-show-coupon="no"] form.checkout_coupon,
.adpc-native-checkout.adpc-hide-ship-different .woocommerce-shipping-fields,
.adpc-native-checkout[data-adpc-show-ship-different="no"] .woocommerce-shipping-fields,
.adpc-native-checkout[data-adpc-show-ship-different="no"] .shipping_address,
.adpc-native-checkout.adpc-hide-order-notes .woocommerce-additional-fields,
.adpc-native-checkout[data-adpc-show-order-notes="no"] .woocommerce-additional-fields,
.adpc-native-checkout .adpc-system-hidden-field {
    display: none !important;
}

/* v0.2.3 editor parity: theme flex-basis/max-width must not shrink preview cards. */
.adpc-editor-checkout-preview #customer_details .col-1,
.adpc-editor-checkout-preview .woocommerce-billing-fields,
.adpc-editor-checkout-preview #order_review_heading,
.adpc-editor-checkout-preview #order_review {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 100% !important;
}

.adpc-native-checkout .woocommerce-checkout-review-order-table th,
.adpc-native-checkout .woocommerce-checkout-review-order-table td,
.adpc-native-checkout .woocommerce-shipping-methods li,
.adpc-native-checkout .wc_payment_method {
    overflow-wrap: break-word;
    word-break: normal;
}

/* ---------- Popup / responsive mode ---------- */
.adpc-popup-overlay,
.adpc-popup-close {
    display: none;
}

.adpc-mode-popup .adpc-checkout-shell,
.adpc-mode-responsive .adpc-checkout-shell {
    display: none;
}

.adpc-widget.adpc-popup-open .adpc-popup-overlay {
    position: fixed;
    inset: 0;
    z-index: 999998;
    display: block;
    background: rgba(15, 23, 42, .58);
    backdrop-filter: blur(2px);
}

.adpc-widget.adpc-popup-open .adpc-checkout-shell {
    position: fixed;
    left: 50%;
    top: 50%;
    z-index: 999999;
    display: block;
    width: min(960px, calc(100vw - 32px));
    max-height: 92dvh;
    overflow: auto;
    padding: 24px;
    border-radius: 18px;
    background: var(--adpc-canvas);
    box-shadow: 0 24px 80px rgba(15, 23, 42, .26);
    transform: translate(-50%, -50%);
}

.adpc-widget.adpc-popup-open .adpc-popup-close {
    position: sticky;
    top: 0;
    z-index: 3;
    display: flex;
    width: 38px;
    height: 38px;
    margin: 0 0 8px auto;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--adpc-line);
    border-radius: 50%;
    background: #fff;
    color: #334155;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

/* ---------- Responsive ---------- */
@media (max-width: 1100px) and (min-width: 901px) {
    .adpc-native-checkout.adpc-layout-two_columns form.checkout {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        column-gap: 14px !important;
    }

    .adpc-native-checkout .woocommerce-billing-fields,
    .adpc-native-checkout .woocommerce-shipping-fields,
    .adpc-native-checkout .woocommerce-additional-fields {
        padding: 16px;
    }

    .adpc-native-checkout #order_review_heading {
        padding: 16px 16px 7px !important;
    }

    .adpc-native-checkout #order_review {
        padding: 7px 16px 16px;
    }
}

@media (max-width: 900px) {
    .adpc-native-checkout.adpc-layout-two_columns form.checkout {
        display: block !important;
    }

    .adpc-native-checkout #customer_details,
    .adpc-native-checkout #order_review_heading,
    .adpc-native-checkout #order_review {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        position: static !important;
    }

    .adpc-native-checkout #order_review_heading {
        margin-top: 16px !important;
    }
}

@media (max-width: 767px) {
    .adpc-checkout-shell {
        padding: 14px;
        border-radius: 12px;
    }

    .adpc-checkout-title {
        font-size: 24px;
    }

    .adpc-checkout-subtitle {
        margin-bottom: 16px;
    }

    .adpc-product-selector__grid {
        grid-template-columns: 1fr;
    }

    .adpc-product-card__media {
        flex-basis: 56px;
        width: 56px;
        height: 56px;
    }

    .adpc-native-checkout .woocommerce-billing-fields,
    .adpc-native-checkout .woocommerce-shipping-fields,
    .adpc-native-checkout .woocommerce-additional-fields {
        padding: 16px;
        border-radius: 10px;
    }

    .adpc-native-checkout #order_review_heading {
        padding: 16px 16px 7px !important;
        border-radius: 10px 10px 0 0;
    }

    .adpc-native-checkout #order_review {
        padding: 7px 16px 16px;
        border-radius: 0 0 10px 10px;
    }

    .adpc-native-checkout .form-row.adpc-width-50,
    .adpc-native-checkout .form-row.form-row-first,
    .adpc-native-checkout .form-row.form-row-last {
        width: 100% !important;
    }

    .adpc-native-checkout input.input-text,
    .adpc-native-checkout textarea,
    .adpc-native-checkout select {
        font-size: 16px;
    }

    .adpc-widget.adpc-popup-open .adpc-checkout-shell {
        top: auto;
        bottom: max(10px, env(safe-area-inset-bottom));
        width: calc(100vw - 18px);
        max-height: 92dvh;
        padding: 14px;
        border-radius: 18px;
        transform: translateX(-50%);
    }
}

@media (max-width: 480px) {
    .adpc-checkout-shell {
        padding: 10px;
        border-color: transparent;
        background: #fff;
    }

    .adpc-native-checkout .woocommerce-billing-fields,
    .adpc-native-checkout .woocommerce-shipping-fields,
    .adpc-native-checkout .woocommerce-additional-fields {
        padding: 14px;
    }

    .adpc-native-checkout #order_review_heading {
        padding: 14px 14px 6px !important;
    }

    .adpc-native-checkout #order_review {
        padding: 6px 14px 14px;
    }

    .adpc-native-checkout .woocommerce-checkout-review-order-table th:first-child,
    .adpc-native-checkout .woocommerce-checkout-review-order-table td:first-child {
        width: 58%;
    }

    .adpc-native-checkout .woocommerce-checkout-review-order-table th:last-child,
    .adpc-native-checkout .woocommerce-checkout-review-order-table td:last-child {
        width: 42%;
    }
}


/* ========================================================================
 * v0.2.4 — Runtime layout stability + single-product usability baseline
 * ===================================================================== */
.adpc-native-checkout .adpc-checkout-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    width: 100%;
    min-width: 0;
}

.adpc-native-checkout .adpc-checkout-grid > #customer_details,
.adpc-native-checkout .adpc-checkout-grid > .adpc-order-column,
.adpc-native-checkout .adpc-order-column > #order_review_heading,
.adpc-native-checkout .adpc-order-column > #order_review {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
}

.adpc-native-checkout .adpc-order-column {
    min-width: 0;
}

/* Once the runtime structure wrapper exists, it is the layout authority. */
.adpc-native-checkout.adpc-structure-normalized form.checkout {
    display: block !important;
}

.adpc-native-checkout.adpc-layout-single_column .adpc-checkout-grid {
    grid-template-columns: minmax(0, 1fr);
    max-width: 860px;
    margin: 0 auto;
}

.adpc-native-checkout.adpc-layout-single_column .adpc-order-column {
    margin-top: 16px;
}

.adpc-native-checkout #customer_details > .col-2.adpc-empty-column {
    display: none !important;
}

.adpc-editor-note-live {
    border-color: #bfdbfe;
    background: #eff6ff;
    color: #1e3a8a;
}

@media (max-width: 900px) {
    .adpc-native-checkout .adpc-checkout-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }
}

/* ========================================================================
 * v0.2.7 — Stable CSS section ordering + synchronized Shipping proxy
 * ------------------------------------------------------------------------
 * WooCommerce/WCF fragment-owned nodes are never reparented. #order_review
 * and #payment are flattened visually with display:contents; the canonical
 * shipping row stays in the real review table and is mirrored by an ADPC
 * proxy that drives the real WooCommerce shipping input.
 * ===================================================================== */
.adpc-native-checkout.adpc-section-order-css-mode form.checkout.adpc-css-section-order {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: start !important;
    width: 100% !important;
}

.adpc-native-checkout.adpc-section-order-css-mode form.checkout.adpc-css-section-order.adpc-css-section-order--mobile,
.adpc-native-checkout.adpc-section-order-css-mode.adpc-layout-single_column form.checkout.adpc-css-section-order {
    grid-template-columns: minmax(0, 1fr) !important;
    max-width: 860px;
    margin-left: auto !important;
    margin-right: auto !important;
}

.adpc-native-checkout.adpc-section-order-css-mode #order_review.adpc-review-display-contents,
.adpc-native-checkout.adpc-section-order-css-mode .woocommerce-checkout-payment.adpc-payment-display-contents {
    display: contents !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.adpc-native-checkout.adpc-section-order-css-mode #customer_details,
.adpc-native-checkout.adpc-section-order-css-mode #order_review_heading,
.adpc-native-checkout.adpc-section-order-css-mode .woocommerce-checkout-review-order-table,
.adpc-native-checkout.adpc-section-order-css-mode .woocommerce-checkout-payment.adpc-payment-display-contents > *,
.adpc-native-checkout.adpc-section-order-css-mode .adpc-order-notes-section,
.adpc-native-checkout.adpc-section-order-css-mode .adpc-shipping-proxy {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
}

/* The real WooCommerce row remains authoritative but is visually represented
 * by the independent proxy while advanced ordering is active. */
.adpc-native-checkout.adpc-section-order-css-mode .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping {
    display: none !important;
}

.adpc-native-checkout .adpc-shipping-proxy {
    padding: 16px;
    border: 1px solid var(--adpc-line);
    border-radius: var(--adpc-section-radius);
    background: var(--adpc-surface);
    box-shadow: 0 1px 4px rgba(15, 23, 42, .035);
}

.adpc-native-checkout .adpc-shipping-proxy__title {
    margin: 0 0 12px;
    color: var(--adpc-text);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
}

.adpc-native-checkout .adpc-shipping-proxy__body {
    display: grid;
    gap: 8px;
}

.adpc-native-checkout .adpc-shipping-proxy__option {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid var(--adpc-line-soft);
    border-radius: 8px;
    background: #fff;
    color: var(--adpc-text);
    cursor: pointer;
}

.adpc-native-checkout .adpc-shipping-proxy__input {
    flex: 0 0 auto;
    width: 16px !important;
    height: 16px !important;
    margin: 2px 0 0 !important;
}

.adpc-native-checkout .adpc-shipping-proxy__label {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    min-width: 0;
}

.adpc-native-checkout .adpc-shipping-proxy__message {
    padding: 10px 12px;
    border-radius: 8px;
    background: #f8fafc;
    color: var(--adpc-muted);
}

.adpc-native-checkout .adpc-shipping-proxy.adpc-section-empty,
.adpc-native-checkout .adpc-order-notes-section:empty,
.adpc-native-checkout .woocommerce-shipping-fields.adpc-empty-native-section,
.adpc-native-checkout .woocommerce-additional-fields.adpc-empty-native-section,
.adpc-native-checkout #customer_details > .col-2.adpc-empty-column {
    display: none !important;
}

/* In CSS-order mode the order heading/table form the visual Order Summary card. */
.adpc-native-checkout.adpc-section-order-css-mode #order_review_heading {
    margin: 0 !important;
    padding: 16px 16px 8px !important;
    border: 1px solid var(--adpc-line) !important;
    border-bottom: 0 !important;
    border-radius: var(--adpc-section-radius) var(--adpc-section-radius) 0 0 !important;
    background: var(--adpc-surface) !important;
}

.adpc-native-checkout.adpc-section-order-css-mode .woocommerce-checkout-review-order-table {
    margin: 0 !important;
    padding: 0 16px 14px !important;
    border: 1px solid var(--adpc-line) !important;
    border-top: 0 !important;
    border-radius: 0 0 var(--adpc-section-radius) var(--adpc-section-radius) !important;
    background: var(--adpc-surface) !important;
}

.adpc-native-checkout.adpc-section-order-css-mode .woocommerce-checkout-payment.adpc-payment-display-contents > .wc_payment_methods,
.adpc-native-checkout.adpc-section-order-css-mode .woocommerce-checkout-payment.adpc-payment-display-contents > .payment_methods,
.adpc-native-checkout.adpc-section-order-css-mode .woocommerce-checkout-payment.adpc-payment-display-contents > .place-order,
.adpc-native-checkout.adpc-section-order-css-mode .woocommerce-checkout-payment.adpc-payment-display-contents > .woocommerce-NoticeGroup,
.adpc-native-checkout.adpc-section-order-css-mode .woocommerce-checkout-payment.adpc-payment-display-contents > .woocommerce-info {
    margin: 0 !important;
    padding: 14px !important;
    border: 1px solid var(--adpc-line-soft) !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

.adpc-native-checkout.adpc-section-order-css-mode .adpc-order-notes-section .woocommerce-additional-fields {
    margin: 0 !important;
}

/* Legacy generated structures from 0.2.5/0.2.6 must never survive after the
 * stable normalizer has rescued the canonical WooCommerce nodes. */
.adpc-native-checkout.adpc-section-order-css-mode .adpc-section-layout,
.adpc-native-checkout.adpc-section-order-css-mode .adpc-checkout-grid,
.adpc-native-checkout.adpc-section-order-css-mode .adpc-stale-section-layout {
    display: none !important;
}


/* ========================================================================
 * v0.2.8 — Authoritative responsive section order + funnel shipping guard
 * ===================================================================== */
/* Old reference-layout rules and third-party funnel builders may use
 * !important grid placement. Advanced ordering must win when explicitly on. */
.adpc-native-checkout.adpc-section-order-css-mode form.checkout.adpc-css-section-order > #customer_details,
.adpc-native-checkout.adpc-section-order-css-mode form.checkout.adpc-css-section-order > #order_review_heading,
.adpc-native-checkout.adpc-section-order-css-mode form.checkout.adpc-css-section-order > #order_review,
.adpc-native-checkout.adpc-section-order-css-mode form.checkout.adpc-css-section-order > .adpc-shipping-proxy,
.adpc-native-checkout.adpc-section-order-css-mode form.checkout.adpc-css-section-order > .adpc-order-notes-section {
    grid-row: auto !important;
    min-width: 0 !important;
}

/* Some funnel/checkout builders print a second canonical shipping chooser
 * (e.g. .wcf-customer-shipping) outside the normal Woo review table. The
 * ADPC proxy mirrors/drives those real inputs, so the original visual copy
 * must be hidden to avoid Shipping appearing again below Place Order. */
.adpc-native-checkout.adpc-section-order-css-mode .adpc-canonical-shipping-ui {
    display: none !important;
}

/* Keep the ADPC shipping section visually deterministic. */
.adpc-native-checkout.adpc-section-order-css-mode .adpc-shipping-proxy {
    position: static !important;
    inset: auto !important;
    transform: none !important;
}

/* ========================================================================
 * v0.2.9 — Server-rendered independent checkout sections
 * ------------------------------------------------------------------------
 * Advanced section ordering no longer moves/clones WooCommerce fragments.
 * Each major checkout component is rendered as an ADPC-owned form section;
 * WooCommerce remains authoritative for totals, shipping and payment state.
 * ===================================================================== */
.adpc-native-checkout.adpc-server-section-renderer form.adpc-sectioned-checkout-form {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

.adpc-native-checkout.adpc-server-section-renderer .adpc-independent-sections {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: start !important;
    width: 100% !important;
    min-width: 0 !important;
}

.adpc-native-checkout.adpc-server-section-renderer .adpc-independent-sections.adpc-independent-sections--mobile,
.adpc-native-checkout.adpc-server-section-renderer.adpc-layout-single_column .adpc-independent-sections {
    grid-template-columns: minmax(0, 1fr) !important;
    max-width: 860px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.adpc-native-checkout.adpc-server-section-renderer .adpc-independent-section {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    clear: none !important;
    box-sizing: border-box !important;
}

.adpc-native-checkout.adpc-server-section-renderer .adpc-section-shipping,
.adpc-native-checkout.adpc-server-section-renderer .adpc-section-order-summary,
.adpc-native-checkout.adpc-server-section-renderer .adpc-section-payment,
.adpc-native-checkout.adpc-server-section-renderer .adpc-section-place-order {
    padding: 16px !important;
    border: 1px solid var(--adpc-line) !important;
    border-radius: var(--adpc-section-radius) !important;
    background: var(--adpc-surface) !important;
    box-shadow: 0 1px 4px rgba(15, 23, 42, .035) !important;
}

.adpc-native-checkout.adpc-server-section-renderer .adpc-section-billing #customer_details,
.adpc-native-checkout.adpc-server-section-renderer .adpc-section-billing #customer_details > .col-1,
.adpc-native-checkout.adpc-server-section-renderer .adpc-section-billing #customer_details > .col-2 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    margin: 0 !important;
}

.adpc-native-checkout.adpc-server-section-renderer .adpc-section-billing #customer_details > .col-2:empty,
.adpc-native-checkout.adpc-server-section-renderer .adpc-section-order-notes[hidden],
.adpc-native-checkout.adpc-server-section-renderer .adpc-section-empty {
    display: none !important;
}

.adpc-native-checkout.adpc-server-section-renderer .adpc-section-title {
    margin: 0 0 12px !important;
    padding: 0 !important;
    color: var(--adpc-text) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-align: left !important;
}

.adpc-native-checkout.adpc-server-section-renderer .adpc-shipping-methods,
.adpc-native-checkout.adpc-server-section-renderer .adpc-shipping-package {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.adpc-native-checkout.adpc-server-section-renderer .adpc-shipping-package {
    display: grid !important;
    gap: 8px !important;
}

.adpc-native-checkout.adpc-server-section-renderer .adpc-shipping-method {
    display: flex !important;
    align-items: flex-start !important;
    gap: 9px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border: 1px solid var(--adpc-line-soft) !important;
    border-radius: 8px !important;
    background: #fff !important;
    list-style: none !important;
    box-sizing: border-box !important;
}

.adpc-native-checkout.adpc-server-section-renderer .adpc-shipping-method input.shipping_method {
    flex: 0 0 auto !important;
    width: 16px !important;
    height: 16px !important;
    margin: 2px 0 0 !important;
}

.adpc-native-checkout.adpc-server-section-renderer .adpc-shipping-method label {
    display: flex !important;
    flex: 1 1 auto !important;
    justify-content: space-between !important;
    gap: 10px !important;
    min-width: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
}

.adpc-native-checkout.adpc-server-section-renderer .adpc-order-summary-table {
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: collapse !important;
    background: transparent !important;
    table-layout: fixed !important;
}

.adpc-native-checkout.adpc-server-section-renderer .adpc-order-summary-table th,
.adpc-native-checkout.adpc-server-section-renderer .adpc-order-summary-table td {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
}

.adpc-native-checkout.adpc-server-section-renderer .adpc-review-product {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
}

.adpc-native-checkout.adpc-server-section-renderer .adpc-review-thumb {
    flex: 0 0 54px !important;
}

.adpc-native-checkout.adpc-server-section-renderer .adpc-review-thumb img {
    display: block !important;
    width: 54px !important;
    height: 54px !important;
    object-fit: cover !important;
    border-radius: 7px !important;
}

.adpc-native-checkout.adpc-server-section-renderer .adpc-review-product-copy {
    min-width: 0 !important;
}

/* v0.2.10 — single-thumbnail authority inside the independent order summary. */
.adpc-native-checkout.adpc-server-section-renderer .adpc-review-product-copy img,
.adpc-native-checkout.adpc-server-section-renderer .adpc-review-product-copy picture,
.adpc-native-checkout.adpc-server-section-renderer .adpc-review-product-copy figure {
    display: none !important;
}

.adpc-native-checkout.adpc-server-section-renderer .adpc-section-payment .woocommerce-checkout-payment {
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    overflow: visible !important;
}

.adpc-native-checkout.adpc-server-section-renderer .adpc-section-payment .wc_payment_methods {
    padding: 0 !important;
    border: 0 !important;
}

.adpc-native-checkout.adpc-server-section-renderer .adpc-section-place-order .place-order {
    padding: 0 !important;
}

.adpc-native-checkout.adpc-server-section-renderer .adpc-section-order-notes .woocommerce-additional-fields {
    margin: 0 !important;
}

.adpc-native-checkout.adpc-server-section-renderer .adpc-section-message {
    margin: 0 !important;
    padding: 10px 12px !important;
    border-radius: 8px !important;
    background: var(--adpc-canvas) !important;
    color: var(--adpc-muted) !important;
    font-size: 13px !important;
}

/* Any funnel/theme copy injected outside the server-owned sections is not a
 * second checkout authority. Keep it out of view/submission. */
.adpc-native-checkout.adpc-server-section-renderer .adpc-foreign-checkout-ui,
.adpc-native-checkout.adpc-server-section-renderer form.adpc-sectioned-checkout-form > .wcf-customer-shipping,
.adpc-native-checkout.adpc-server-section-renderer form.adpc-sectioned-checkout-form > .wcf-shipping-methods,
.adpc-native-checkout.adpc-server-section-renderer form.adpc-sectioned-checkout-form > .wcf-shipping-wrapper,
.adpc-native-checkout.adpc-server-section-renderer .adpc-shipping-proxy,
.adpc-native-checkout.adpc-server-section-renderer .adpc-section-layout,
.adpc-native-checkout.adpc-server-section-renderer .adpc-checkout-grid {
    display: none !important;
}

@media (max-width: 767px) {
    .adpc-native-checkout.adpc-server-section-renderer .adpc-independent-sections {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}
.adpc-native-checkout.adpc-server-section-renderer .wcf-customer-shipping,
.adpc-native-checkout.adpc-server-section-renderer .wcf-shipping-methods,
.adpc-native-checkout.adpc-server-section-renderer .wcf-shipping-wrapper {
    display: none !important;
}
.adpc-native-checkout.adpc-server-section-renderer .adpc-alternate-shipping-address .woocommerce-additional-fields {
    display: none !important;
}

/* =========================================================
   v0.2.15 — AlapDesk Thank You Builder
========================================================= */
.adpc-thankyou-builder{
  --adpc-ty-accent:#16a34a;
  --adpc-ty-surface:#fff;
  --adpc-ty-page:#f8fafc;
  --adpc-ty-text:#111827;
  --adpc-ty-muted:#64748b;
  --adpc-ty-border:#e5e7eb;
  --adpc-ty-button:#111827;
  --adpc-ty-button-text:#fff;
  --adpc-ty-radius:18px;
  --adpc-ty-heading-size:34px;
  --adpc-ty-body-size:15px;
  width:100%;
  padding:34px 16px 50px;
  background:var(--adpc-ty-page);
  color:var(--adpc-ty-text);
  font-family:'Hind Siliguri',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:var(--adpc-ty-body-size);
  line-height:1.6;
}
.adpc-thankyou-builder *{box-sizing:border-box}
.adpc-ty-shell{width:min(860px,100%);margin:0 auto;display:grid;gap:16px}
.adpc-ty-success-card,
.adpc-ty-card{
  background:var(--adpc-ty-surface);
  border:1px solid var(--adpc-ty-border);
  border-radius:var(--adpc-ty-radius);
  box-shadow:0 12px 34px rgba(15,23,42,.06);
}
.adpc-ty-success-card{display:flex;align-items:flex-start;gap:16px;padding:25px}
.adpc-ty-check{flex:0 0 54px;width:54px;height:54px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb,var(--adpc-ty-accent) 12%, white);color:var(--adpc-ty-accent)}
.adpc-ty-check svg{width:31px;height:31px;fill:currentColor}
.adpc-ty-success-card h1{margin:0 0 6px;color:var(--adpc-ty-text);font-size:var(--adpc-ty-heading-size);line-height:1.18;font-weight:800}
.adpc-ty-success-card p{margin:0;color:var(--adpc-ty-muted);font-size:var(--adpc-ty-body-size)}
.adpc-ty-card{padding:22px}
.adpc-ty-card h2{margin:0 0 16px;color:var(--adpc-ty-text);font-size:21px;line-height:1.3;font-weight:750}
.adpc-ty-order-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.adpc-ty-order-meta>div,
.adpc-ty-customer-grid>div{padding:13px 14px;border:1px solid var(--adpc-ty-border);border-radius:calc(var(--adpc-ty-radius) * .7);background:var(--adpc-ty-page)}
.adpc-ty-order-meta span,
.adpc-ty-customer-grid span{display:block;margin-bottom:3px;color:var(--adpc-ty-muted);font-size:.88em}
.adpc-ty-order-meta strong,
.adpc-ty-customer-grid strong{display:block;color:var(--adpc-ty-text);font-weight:700;overflow-wrap:anywhere}
.adpc-ty-products{display:grid;gap:0}
.adpc-ty-product{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--adpc-ty-border)}
.adpc-ty-product:first-child{padding-top:0}
.adpc-ty-product-main{min-width:0;display:flex;align-items:center;gap:12px}
.adpc-ty-thumb{flex:0 0 58px;width:58px;height:58px;overflow:hidden;border:1px solid var(--adpc-ty-border);border-radius:12px;background:#fff}
.adpc-ty-thumb img{display:block;width:100%;height:100%;object-fit:cover;margin:0}
.adpc-ty-product-main>div:last-child{min-width:0}
.adpc-ty-product-main strong{display:block;color:var(--adpc-ty-text);font-weight:700}
.adpc-ty-product-main span{display:block;color:var(--adpc-ty-muted);font-size:.9em}
.adpc-ty-totals{display:grid;gap:9px;padding-top:16px}
.adpc-ty-totals>div{display:flex;align-items:center;justify-content:space-between;gap:18px}
.adpc-ty-totals span{color:var(--adpc-ty-muted)}
.adpc-ty-totals strong{color:var(--adpc-ty-text)}
.adpc-ty-grand-total{margin-top:4px;padding-top:12px;border-top:1px solid var(--adpc-ty-border);font-size:1.08em}
.adpc-ty-customer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.adpc-ty-address{grid-column:1/-1}
.adpc-ty-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding-top:2px}
.adpc-ty-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 20px;border:1px solid var(--adpc-ty-border);border-radius:12px;background:var(--adpc-ty-surface);color:var(--adpc-ty-text)!important;text-decoration:none!important;font-weight:700;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}
.adpc-ty-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.09)}
.adpc-ty-btn-primary{border-color:var(--adpc-ty-button);background:var(--adpc-ty-button);color:var(--adpc-ty-button-text)!important}
.adpc-ty-whatsapp{border-color:#bbf7d0;background:#f0fdf4;color:#15803d!important}
.adpc-ty-gateway-output{margin-top:2px}
.adpc-ty-native-hook-output{display:none!important}

@media(max-width:700px){
  .adpc-thankyou-builder{padding:20px 10px 34px}
  .adpc-ty-shell{gap:11px}
  .adpc-ty-success-card{padding:18px;gap:12px}
  .adpc-ty-check{flex-basis:46px;width:46px;height:46px}
  .adpc-ty-check svg{width:27px;height:27px}
  .adpc-ty-success-card h1{font-size:min(var(--adpc-ty-heading-size),30px)}
  .adpc-ty-card{padding:16px}
  .adpc-ty-order-meta{grid-template-columns:1fr}
  .adpc-ty-customer-grid{grid-template-columns:1fr}
  .adpc-ty-address{grid-column:auto}
  .adpc-ty-product{align-items:flex-start}
  .adpc-ty-actions{display:grid;grid-template-columns:1fr}
  .adpc-ty-btn{width:100%}
}
