/*
 * CoderEmbassy Express Checkout Pro — Template Styles
 * Covers: Modern, Minimal, Compact, Split, Vibrant
 * =========================================================
 */

/* =========================================================
   SHARED BASE — applies to all ceec-template wrappers
   ========================================================= */

.ceec-template {
    position: relative;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    box-sizing: border-box;
    overflow: hidden;
}

.ceec-template *,
.ceec-template *::before,
.ceec-template *::after {
    box-sizing: inherit;
}

/* Empty cart shared */
.ceec-template .ceec-empty-cart {
    text-align: center;
    padding: 40px 24px;
    color: #94a3b8;
    font-size: 0.9rem;
}
.ceec-template .ceec-empty-cart__icon {
    font-size: 2rem;
    display: block;
    margin-bottom: 10px;
}

/* Ensure WC form fields are always visible inside our templates */
.ceec-template input.input-text,
.ceec-template input[type="text"],
.ceec-template input[type="email"],
.ceec-template input[type="tel"],
.ceec-template input[type="number"],
.ceec-template select,
.ceec-template textarea {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.ceec-template .woocommerce-input-wrapper {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}


/* =========================================================
   TEMPLATE: MODERN
   Card-based, shadow-depth, clean iconography
   ========================================================= */

.ceec-template-modern {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #e8edf3;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,.04), 0 24px 48px -8px rgba(15,23,42,.10);
    overflow: visible;
}

/* Header */
.ceec-modern-header {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 24px 28px;
    border-bottom: 1px solid #f1f5f9;
    background: linear-gradient(135deg, #f8faff 0%, #ffffff 100%);
    border-radius: 20px 20px 0 0;
}

.ceec-modern-header__icon {
    width: 44px;
    height: 44px;
    background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.35);
}
.ceec-modern-header__icon svg {
    width: 22px;
    height: 22px;
    color: #ffffff;
}

.ceec-modern-header__text {
    flex: 1;
}
.ceec-modern-header__text h3 {
    margin: 0 0 3px 0 !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    letter-spacing: -0.02em !important;
    line-height: 1.3 !important;
}
.ceec-modern-header__text p {
    margin: 0 !important;
    font-size: 0.8rem !important;
    color: #64748b !important;
    line-height: 1.4 !important;
}

.ceec-modern-header__badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: #f0fdf4;
    color: #16a34a;
    border: 1px solid #bbf7d0;
    border-radius: 99px;
    padding: 5px 12px;
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap;
    flex-shrink: 0;
}
.ceec-modern-header__badge svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

/* Body */
.ceec-modern-body {
    padding: 28px;
}

/* Form fields */
.ceec-template-modern .ceec-modern-form .form-row {
    margin-bottom: 18px !important;
    float: none !important;
    clear: none !important;
}

.ceec-template-modern .ceec-modern-form .form-row label {
    display: block !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    color: #374151 !important;
    margin-bottom: 6px !important;
    letter-spacing: 0.01em !important;
}

.ceec-template-modern .ceec-modern-form .form-row input.input-text,
.ceec-template-modern .ceec-modern-form .form-row input[type="text"],
.ceec-template-modern .ceec-modern-form .form-row input[type="email"],
.ceec-template-modern .ceec-modern-form .form-row input[type="tel"],
.ceec-template-modern .ceec-modern-form .form-row input[type="number"],
.ceec-template-modern .ceec-modern-form .form-row select,
.ceec-template-modern .ceec-modern-form .form-row textarea {
    width: 100% !important;
    height: 46px !important;
    padding: 0 14px !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 10px !important;
    font-size: 0.9rem !important;
    color: #1e293b !important;
    background: #f8fafc !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
    box-shadow: none !important;
    outline: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

.ceec-template-modern .ceec-modern-form .form-row textarea {
    height: auto !important;
    min-height: 88px !important;
    padding: 12px 14px !important;
    resize: vertical !important;
}

.ceec-template-modern .ceec-modern-form .form-row input:focus,
.ceec-template-modern .ceec-modern-form .form-row select:focus,
.ceec-template-modern .ceec-modern-form .form-row textarea:focus {
    border-color: #3b82f6 !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12) !important;
}

.ceec-template-modern .ceec-modern-form .form-row-first {
    width: 48% !important;
    float: left !important;
    clear: left !important;
}
.ceec-template-modern .ceec-modern-form .form-row-last {
    width: 48% !important;
    float: right !important;
    clear: none !important;
}
.ceec-template-modern .ceec-modern-form .form-row-wide {
    width: 100% !important;
    float: none !important;
    clear: both !important;
}
.ceec-template-modern .ceec-modern-form .woocommerce-billing-fields::after,
.ceec-template-modern .ceec-modern-form .woocommerce-shipping-fields::after,
.ceec-template-modern .ceec-modern-form::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

.ceec-template-modern .ceec-modern-form .woocommerce-billing-fields,
.ceec-template-modern .ceec-modern-form .woocommerce-shipping-fields,
.ceec-template-modern .ceec-modern-form .woocommerce-additional-fields {
    float: none !important;
    width: 100% !important;
    clear: both !important;
    margin-bottom: 24px !important;
}

.ceec-template-modern .ceec-modern-form .woocommerce-billing-fields h3,
.ceec-template-modern .ceec-modern-form .woocommerce-shipping-fields h3,
.ceec-template-modern .ceec-modern-form .woocommerce-additional-fields h3,
.ceec-template-modern .ceec-modern-form #order_review_heading {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 0 16px 0 !important;
    padding: 0 0 10px 0 !important;
    border-bottom: 2px solid #eff6ff !important;
    letter-spacing: -0.01em !important;
}

/* Payment section */
.ceec-template-modern .ceec-modern-form .woocommerce-checkout-payment {
    background: #f8fafc !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 20px !important;
    margin-top: 24px !important;
}

/* Place order button */
.ceec-template-modern .ceec-modern-form #place_order,
.ceec-template-modern .ceec-modern-form .button.alt {
    background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 16px 32px !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.01em !important;
    width: 100% !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(59, 130, 246, 0.4) !important;
    transition: transform 0.15s ease, box-shadow 0.15s ease !important;
    text-transform: none !important;
}
.ceec-template-modern .ceec-modern-form #place_order:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(59, 130, 246, 0.5) !important;
}

/* Select2 inside modern */
.ceec-template-modern .select2-container .select2-selection--single {
    height: 46px !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 10px !important;
    background: #f8fafc !important;
}
.ceec-template-modern .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 44px !important;
    padding-left: 14px !important;
    font-size: 0.9rem !important;
    color: #1e293b !important;
}
.ceec-template-modern .select2-container .select2-selection--single .select2-selection__arrow {
    height: 44px !important;
}


/* =========================================================
   TEMPLATE: MINIMAL
   Ultra-clean, whitespace-forward, step indicators
   ========================================================= */

.ceec-template-minimal {
    background: #ffffff;
    border-radius: 4px;
    border-top: 3px solid #111827;
    box-shadow: 0 1px 3px rgba(0,0,0,.06), 0 8px 24px rgba(0,0,0,.05);
}

/* Header */
.ceec-minimal-header {
    padding: 32px 36px 24px;
    border-bottom: 1px solid #f3f4f6;
}

.ceec-minimal-header__line {
    width: 32px;
    height: 3px;
    background: #111827;
    border-radius: 2px;
    margin-bottom: 16px;
}

.ceec-minimal-header h3 {
    margin: 0 0 20px 0 !important;
    font-size: 1.6rem !important;
    font-weight: 800 !important;
    color: #111827 !important;
    letter-spacing: -0.04em !important;
    line-height: 1.1 !important;
}

/* Steps */
.ceec-minimal-header__steps {
    display: flex;
    align-items: center;
    gap: 0;
}

.ceec-step {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.75rem;
    font-weight: 600;
    color: #9ca3af;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.ceec-step--active {
    color: #111827;
}
.ceec-step__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 2px solid currentColor;
    flex-shrink: 0;
}
.ceec-step--active .ceec-step__dot {
    background: #111827;
}
.ceec-step__connector {
    width: 24px;
    height: 1px;
    background: #e5e7eb;
    margin: 0 8px;
    flex-shrink: 0;
}

/* Body */
.ceec-minimal-body {
    padding: 32px 36px 36px;
}

/* Fields */
.ceec-template-minimal .ceec-minimal-form .form-row {
    margin-bottom: 20px !important;
    float: none !important;
    clear: none !important;
}

.ceec-template-minimal .ceec-minimal-form .form-row label {
    display: block !important;
    font-size: 0.73rem !important;
    font-weight: 700 !important;
    color: #6b7280 !important;
    margin-bottom: 6px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
}

.ceec-template-minimal .ceec-minimal-form .form-row input.input-text,
.ceec-template-minimal .ceec-minimal-form .form-row input[type="text"],
.ceec-template-minimal .ceec-minimal-form .form-row input[type="email"],
.ceec-template-minimal .ceec-minimal-form .form-row input[type="tel"],
.ceec-template-minimal .ceec-minimal-form .form-row input[type="number"],
.ceec-template-minimal .ceec-minimal-form .form-row select,
.ceec-template-minimal .ceec-minimal-form .form-row textarea {
    width: 100% !important;
    height: 48px !important;
    padding: 0 !important;
    border: none !important;
    border-bottom: 2px solid #e5e7eb !important;
    border-radius: 0 !important;
    font-size: 0.95rem !important;
    color: #111827 !important;
    background: transparent !important;
    transition: border-color 0.2s ease !important;
    box-shadow: none !important;
    outline: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

.ceec-template-minimal .ceec-minimal-form .form-row textarea {
    height: auto !important;
    min-height: 80px !important;
    padding: 8px 0 !important;
    resize: vertical !important;
}

.ceec-template-minimal .ceec-minimal-form .form-row input:focus,
.ceec-template-minimal .ceec-minimal-form .form-row select:focus,
.ceec-template-minimal .ceec-minimal-form .form-row textarea:focus {
    border-bottom-color: #111827 !important;
    box-shadow: none !important;
    background: transparent !important;
}

.ceec-template-minimal .ceec-minimal-form .form-row-first {
    width: 48% !important;
    float: left !important;
    clear: left !important;
}
.ceec-template-minimal .ceec-minimal-form .form-row-last {
    width: 48% !important;
    float: right !important;
    clear: none !important;
}
.ceec-template-minimal .ceec-minimal-form .form-row-wide {
    width: 100% !important;
    float: none !important;
    clear: both !important;
}
.ceec-template-minimal .ceec-minimal-form .woocommerce-billing-fields::after,
.ceec-template-minimal .ceec-minimal-form .woocommerce-shipping-fields::after,
.ceec-template-minimal .ceec-minimal-form::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

.ceec-template-minimal .ceec-minimal-form .woocommerce-billing-fields,
.ceec-template-minimal .ceec-minimal-form .woocommerce-shipping-fields,
.ceec-template-minimal .ceec-minimal-form .woocommerce-additional-fields {
    float: none !important;
    width: 100% !important;
    clear: both !important;
    margin-bottom: 28px !important;
}

.ceec-template-minimal .ceec-minimal-form .woocommerce-billing-fields h3,
.ceec-template-minimal .ceec-minimal-form .woocommerce-shipping-fields h3,
.ceec-template-minimal .ceec-minimal-form #order_review_heading {
    font-size: 0.73rem !important;
    font-weight: 700 !important;
    color: #9ca3af !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    border: none !important;
}

.ceec-template-minimal .ceec-minimal-form .woocommerce-checkout-payment {
    background: #f9fafb !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 6px !important;
    padding: 20px !important;
    margin-top: 28px !important;
}

.ceec-template-minimal .ceec-minimal-form #place_order,
.ceec-template-minimal .ceec-minimal-form .button.alt {
    background: #111827 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 16px 32px !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    width: 100% !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
    box-shadow: none !important;
}
.ceec-template-minimal .ceec-minimal-form #place_order:hover {
    background: #374151 !important;
}

/* Select2 inside minimal */
.ceec-template-minimal .select2-container .select2-selection--single {
    height: 48px !important;
    border: none !important;
    border-bottom: 2px solid #e5e7eb !important;
    border-radius: 0 !important;
    background: transparent !important;
}
.ceec-template-minimal .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 46px !important;
    padding-left: 0 !important;
    font-size: 0.95rem !important;
    color: #111827 !important;
}
.ceec-template-minimal .select2-container .select2-selection--single .select2-selection__arrow {
    height: 46px !important;
}


/* =========================================================
   TEMPLATE: COMPACT
   Tight spacing, efficient grid, no wasted pixels
   ========================================================= */

.ceec-template-compact {
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid #e4e7ec;
    box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.06);
}

/* Header */
.ceec-compact-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    border-bottom: 1px solid #f1f3f7;
    background: #f8f9fb;
    border-radius: 12px 12px 0 0;
    gap: 12px;
}

.ceec-compact-header__left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ceec-compact-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #eff6ff;
    color: #2563eb;
    border: 1px solid #bfdbfe;
    border-radius: 6px;
    padding: 4px 8px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
}
.ceec-compact-badge svg {
    width: 12px;
    height: 12px;
    flex-shrink: 0;
}

.ceec-compact-header__left h4 {
    margin: 0 !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: #111827 !important;
}

.ceec-compact-trust {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.72rem;
    color: #6b7280;
    font-weight: 500;
}
.ceec-compact-trust span:nth-child(odd) {
    font-size: 0.85rem;
}

/* Body */
.ceec-compact-body {
    padding: 16px 20px 20px;
}

/* Fields — deliberately tighter */
.ceec-template-compact .ceec-compact-form .form-row {
    margin-bottom: 12px !important;
    float: none !important;
    clear: none !important;
}

.ceec-template-compact .ceec-compact-form .form-row label {
    display: block !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    color: #4b5563 !important;
    margin-bottom: 4px !important;
}

.ceec-template-compact .ceec-compact-form .form-row input.input-text,
.ceec-template-compact .ceec-compact-form .form-row input[type="text"],
.ceec-template-compact .ceec-compact-form .form-row input[type="email"],
.ceec-template-compact .ceec-compact-form .form-row input[type="tel"],
.ceec-template-compact .ceec-compact-form .form-row input[type="number"],
.ceec-template-compact .ceec-compact-form .form-row select,
.ceec-template-compact .ceec-compact-form .form-row textarea {
    width: 100% !important;
    height: 38px !important;
    padding: 0 10px !important;
    border: 1px solid #d1d5db !important;
    border-radius: 7px !important;
    font-size: 0.85rem !important;
    color: #1f2937 !important;
    background: #ffffff !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
    box-shadow: none !important;
    outline: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}
.ceec-template-compact .ceec-compact-form .form-row textarea {
    height: auto !important;
    min-height: 68px !important;
    padding: 8px 10px !important;
    resize: vertical !important;
}
.ceec-template-compact .ceec-compact-form .form-row input:focus,
.ceec-template-compact .ceec-compact-form .form-row select:focus,
.ceec-template-compact .ceec-compact-form .form-row textarea:focus {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.1) !important;
}

.ceec-template-compact .ceec-compact-form .form-row-first {
    width: 48% !important;
    float: left !important;
    clear: left !important;
}
.ceec-template-compact .ceec-compact-form .form-row-last {
    width: 48% !important;
    float: right !important;
    clear: none !important;
}
.ceec-template-compact .ceec-compact-form .form-row-wide {
    width: 100% !important;
    float: none !important;
    clear: both !important;
}
.ceec-template-compact .ceec-compact-form .woocommerce-billing-fields::after,
.ceec-template-compact .ceec-compact-form .woocommerce-shipping-fields::after,
.ceec-template-compact .ceec-compact-form::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

.ceec-template-compact .ceec-compact-form .woocommerce-billing-fields,
.ceec-template-compact .ceec-compact-form .woocommerce-shipping-fields,
.ceec-template-compact .ceec-compact-form .woocommerce-additional-fields {
    float: none !important;
    width: 100% !important;
    clear: both !important;
    margin-bottom: 16px !important;
}

.ceec-template-compact .ceec-compact-form .woocommerce-billing-fields h3,
.ceec-template-compact .ceec-compact-form .woocommerce-shipping-fields h3,
.ceec-template-compact .ceec-compact-form #order_review_heading {
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    color: #374151 !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    border: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
}

.ceec-template-compact .ceec-compact-form .woocommerce-checkout-payment {
    background: #f9fafb !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 8px !important;
    padding: 14px !important;
    margin-top: 16px !important;
}

.ceec-template-compact .ceec-compact-form #place_order,
.ceec-template-compact .ceec-compact-form .button.alt {
    background: #2563eb !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 13px 24px !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    width: 100% !important;
    cursor: pointer !important;
    transition: background 0.15s ease !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}
.ceec-template-compact .ceec-compact-form #place_order:hover {
    background: #1d4ed8 !important;
}

/* Select2 inside compact */
.ceec-template-compact .select2-container .select2-selection--single {
    height: 38px !important;
    border: 1px solid #d1d5db !important;
    border-radius: 7px !important;
    background: #ffffff !important;
}
.ceec-template-compact .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 36px !important;
    padding-left: 10px !important;
    font-size: 0.85rem !important;
    color: #1f2937 !important;
}
.ceec-template-compact .select2-container .select2-selection--single .select2-selection__arrow {
    height: 36px !important;
}


/* =========================================================
   TEMPLATE: SPLIT LAYOUT
   Two-panel: dark summary left, clean form right
   ========================================================= */

.ceec-template-split {
    display: grid;
    grid-template-columns: 340px 1fr;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(0,0,0,.12), 0 2px 6px rgba(0,0,0,.06);
    border: 1px solid #1e293b;
    min-height: 400px;
}

@media (max-width: 768px) {
    .ceec-template-split {
        grid-template-columns: 1fr;
    }
}

/* Summary Panel (left / dark) */
.ceec-split-panel--summary {
    background: linear-gradient(160deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);
    padding: 32px 28px;
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
    overflow: hidden;
}

.ceec-split-panel--summary::before {
    content: "";
    position: absolute;
    top: -80px;
    right: -80px;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(59,130,246,0.15) 0%, transparent 70%);
    pointer-events: none;
}

.ceec-split-summary-header {
    margin-bottom: 24px;
}
.ceec-split-summary-header h3 {
    margin: 0 !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: #f8fafc !important;
    letter-spacing: -0.01em !important;
}

/* Cart items */
.ceec-split-items {
    list-style: none !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1;
}

.ceec-split-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255,255,255,0.07);
}
.ceec-split-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.ceec-split-item__thumb {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    background: rgba(255,255,255,0.06);
}
.ceec-split-item__thumb img {
    width: 48px !important;
    height: 48px !important;
    object-fit: cover !important;
    display: block !important;
}

.ceec-split-item__info {
    flex: 1;
    min-width: 0;
}
.ceec-split-item__name {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: #e2e8f0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
}
.ceec-split-item__qty {
    display: block;
    font-size: 0.75rem;
    color: #64748b;
    margin-top: 2px;
}

.ceec-split-item__price {
    font-size: 0.9rem;
    font-weight: 700;
    color: #93c5fd;
    white-space: nowrap;
    flex-shrink: 0;
}
.ceec-split-item__price .woocommerce-Price-amount {
    color: #93c5fd !important;
}

/* Total */
.ceec-split-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 0 0;
    border-top: 1px solid rgba(255,255,255,0.12);
    margin-top: 4px;
}
.ceec-split-total span {
    font-size: 0.8rem;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.ceec-split-total strong {
    font-size: 1.3rem;
    font-weight: 800;
    color: #ffffff;
}
.ceec-split-total strong .woocommerce-Price-amount {
    color: #ffffff !important;
}

/* Trust badges */
.ceec-split-trust-badges {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,0.07);
}
.ceec-trust-badge {
    font-size: 0.75rem;
    color: #64748b;
    font-weight: 500;
}

/* Form Panel (right) */
.ceec-split-panel--form {
    background: #ffffff;
    padding: 32px 32px 28px;
    overflow-y: auto;
}

.ceec-split-form-header {
    margin-bottom: 24px;
}
.ceec-split-form-header h3 {
    margin: 0 0 4px 0 !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    letter-spacing: -0.02em !important;
}
.ceec-split-form-header p {
    margin: 0 !important;
    font-size: 0.82rem !important;
    color: #64748b !important;
}

/* Fields */
.ceec-template-split .ceec-split-form .form-row {
    margin-bottom: 16px !important;
    float: none !important;
    clear: none !important;
}

.ceec-template-split .ceec-split-form .form-row label {
    display: block !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    color: #374151 !important;
    margin-bottom: 5px !important;
}

.ceec-template-split .ceec-split-form .form-row input.input-text,
.ceec-template-split .ceec-split-form .form-row input[type="text"],
.ceec-template-split .ceec-split-form .form-row input[type="email"],
.ceec-template-split .ceec-split-form .form-row input[type="tel"],
.ceec-template-split .ceec-split-form .form-row input[type="number"],
.ceec-template-split .ceec-split-form .form-row select,
.ceec-template-split .ceec-split-form .form-row textarea {
    width: 100% !important;
    height: 44px !important;
    padding: 0 12px !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 9px !important;
    font-size: 0.88rem !important;
    color: #111827 !important;
    background: #fafafa !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
    box-shadow: none !important;
    outline: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}
.ceec-template-split .ceec-split-form .form-row textarea {
    height: auto !important;
    min-height: 80px !important;
    padding: 10px 12px !important;
    resize: vertical !important;
}
.ceec-template-split .ceec-split-form .form-row input:focus,
.ceec-template-split .ceec-split-form .form-row select:focus,
.ceec-template-split .ceec-split-form .form-row textarea:focus {
    border-color: #2563eb !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1) !important;
}

.ceec-template-split .ceec-split-form .form-row-first {
    width: 48% !important;
    float: left !important;
    clear: left !important;
}
.ceec-template-split .ceec-split-form .form-row-last {
    width: 48% !important;
    float: right !important;
    clear: none !important;
}
.ceec-template-split .ceec-split-form .form-row-wide {
    width: 100% !important;
    float: none !important;
    clear: both !important;
}
.ceec-template-split .ceec-split-form .woocommerce-billing-fields::after,
.ceec-template-split .ceec-split-form .woocommerce-shipping-fields::after,
.ceec-template-split .ceec-split-form::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

.ceec-template-split .ceec-split-form .woocommerce-billing-fields,
.ceec-template-split .ceec-split-form .woocommerce-shipping-fields,
.ceec-template-split .ceec-split-form .woocommerce-additional-fields {
    float: none !important;
    width: 100% !important;
    clear: both !important;
    margin-bottom: 20px !important;
}

.ceec-template-split .ceec-split-form .woocommerce-billing-fields h3,
.ceec-template-split .ceec-split-form .woocommerce-shipping-fields h3,
.ceec-template-split .ceec-split-form #order_review_heading {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    color: #9ca3af !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
    border: none !important;
}

.ceec-template-split .ceec-split-form .woocommerce-checkout-payment {
    background: #f9fafb !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 12px !important;
    padding: 18px !important;
    margin-top: 20px !important;
}

.ceec-template-split .ceec-split-form #place_order,
.ceec-template-split .ceec-split-form .button.alt {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 15px 28px !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    width: 100% !important;
    cursor: pointer !important;
    letter-spacing: 0.01em !important;
    text-transform: none !important;
    transition: opacity 0.15s ease !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.25) !important;
}
.ceec-template-split .ceec-split-form #place_order:hover {
    opacity: 0.88 !important;
}

/* Select2 inside split */
.ceec-template-split .select2-container .select2-selection--single {
    height: 44px !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 9px !important;
    background: #fafafa !important;
}
.ceec-template-split .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 42px !important;
    padding-left: 12px !important;
    font-size: 0.88rem !important;
}
.ceec-template-split .select2-container .select2-selection--single .select2-selection__arrow {
    height: 42px !important;
}


/* =========================================================
   TEMPLATE: VIBRANT
   Glassmorphism, gradient orbs, bold accents
   ========================================================= */

.ceec-template-vibrant {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    background: linear-gradient(145deg, #0f0c29, #302b63, #24243e);
    padding: 2px;
}

/* Gradient orbs */
.ceec-vibrant-orb {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(60px);
    opacity: 0.55;
}
.ceec-vibrant-orb--1 {
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, #7c3aed, transparent);
    top: -80px;
    right: -60px;
}
.ceec-vibrant-orb--2 {
    width: 250px;
    height: 250px;
    background: radial-gradient(circle, #2563eb, transparent);
    bottom: -60px;
    left: -40px;
}
.ceec-vibrant-orb--3 {
    width: 180px;
    height: 180px;
    background: radial-gradient(circle, #ec4899, transparent);
    top: 40%;
    right: 20%;
    opacity: 0.3;
}

/* Inner glass card */
.ceec-vibrant-inner {
    position: relative;
    z-index: 1;
    background: rgba(15, 12, 41, 0.75);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,0.08);
}

/* Header */
.ceec-vibrant-header {
    padding: 32px 32px 24px;
    text-align: center;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

.ceec-vibrant-header__pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.3), rgba(37, 99, 235, 0.3));
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 99px;
    padding: 6px 16px;
    font-size: 0.72rem;
    font-weight: 700;
    color: #c4b5fd;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 16px;
}

.ceec-vibrant-header h3 {
    margin: 0 0 8px 0 !important;
    font-size: 1.9rem !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    letter-spacing: -0.04em !important;
    line-height: 1.1 !important;
    background: linear-gradient(135deg, #ffffff 0%, #a5b4fc 100%);
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}
.ceec-vibrant-header p {
    margin: 0 !important;
    font-size: 0.85rem !important;
    color: rgba(255,255,255,0.5) !important;
    line-height: 1.5 !important;
}

/* Body */
.ceec-vibrant-body {
    padding: 28px 32px 32px;
}

/* Empty cart */
.ceec-vibrant-body .ceec-empty-cart {
    color: rgba(255,255,255,0.4) !important;
}

/* Fields */
.ceec-template-vibrant .ceec-vibrant-form .form-row {
    margin-bottom: 18px !important;
    float: none !important;
    clear: none !important;
}

.ceec-template-vibrant .ceec-vibrant-form .form-row label {
    display: block !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    color: rgba(196, 181, 253, 0.8) !important;
    margin-bottom: 6px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
}

.ceec-template-vibrant .ceec-vibrant-form .form-row input.input-text,
.ceec-template-vibrant .ceec-vibrant-form .form-row input[type="text"],
.ceec-template-vibrant .ceec-vibrant-form .form-row input[type="email"],
.ceec-template-vibrant .ceec-vibrant-form .form-row input[type="tel"],
.ceec-template-vibrant .ceec-vibrant-form .form-row input[type="number"],
.ceec-template-vibrant .ceec-vibrant-form .form-row select,
.ceec-template-vibrant .ceec-vibrant-form .form-row textarea {
    width: 100% !important;
    height: 48px !important;
    padding: 0 16px !important;
    border: 1.5px solid rgba(255,255,255,0.1) !important;
    border-radius: 12px !important;
    font-size: 0.9rem !important;
    color: #ffffff !important;
    background: rgba(255,255,255,0.06) !important;
    transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease !important;
    box-shadow: none !important;
    outline: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    backdrop-filter: blur(8px) !important;
}

.ceec-template-vibrant .ceec-vibrant-form .form-row textarea {
    height: auto !important;
    min-height: 88px !important;
    padding: 14px 16px !important;
    resize: vertical !important;
}

.ceec-template-vibrant .ceec-vibrant-form .form-row input::placeholder,
.ceec-template-vibrant .ceec-vibrant-form .form-row textarea::placeholder {
    color: rgba(255,255,255,0.25) !important;
}

.ceec-template-vibrant .ceec-vibrant-form .form-row input:focus,
.ceec-template-vibrant .ceec-vibrant-form .form-row select:focus,
.ceec-template-vibrant .ceec-vibrant-form .form-row textarea:focus {
    border-color: rgba(167, 139, 250, 0.6) !important;
    background: rgba(255,255,255,0.10) !important;
    box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.2) !important;
}

/* Select inside vibrant — need to handle dropdown color */
.ceec-template-vibrant .ceec-vibrant-form .form-row select option {
    background: #1e1b4b !important;
    color: #ffffff !important;
}

.ceec-template-vibrant .ceec-vibrant-form .form-row-first {
    width: 48% !important;
    float: left !important;
    clear: left !important;
}
.ceec-template-vibrant .ceec-vibrant-form .form-row-last {
    width: 48% !important;
    float: right !important;
    clear: none !important;
}
.ceec-template-vibrant .ceec-vibrant-form .form-row-wide {
    width: 100% !important;
    float: none !important;
    clear: both !important;
}
.ceec-template-vibrant .ceec-vibrant-form .woocommerce-billing-fields::after,
.ceec-template-vibrant .ceec-vibrant-form .woocommerce-shipping-fields::after,
.ceec-template-vibrant .ceec-vibrant-form::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

.ceec-template-vibrant .ceec-vibrant-form .woocommerce-billing-fields,
.ceec-template-vibrant .ceec-vibrant-form .woocommerce-shipping-fields,
.ceec-template-vibrant .ceec-vibrant-form .woocommerce-additional-fields {
    float: none !important;
    width: 100% !important;
    clear: both !important;
    margin-bottom: 24px !important;
}

.ceec-template-vibrant .ceec-vibrant-form .woocommerce-billing-fields h3,
.ceec-template-vibrant .ceec-vibrant-form .woocommerce-shipping-fields h3,
.ceec-template-vibrant .ceec-vibrant-form #order_review_heading {
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    color: rgba(196, 181, 253, 0.6) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    -webkit-text-fill-color: unset !important;
}

/* Payment section */
.ceec-template-vibrant .ceec-vibrant-form .woocommerce-checkout-payment {
    background: rgba(255,255,255,0.05) !important;
    border: 1.5px solid rgba(255,255,255,0.1) !important;
    border-radius: 16px !important;
    padding: 20px !important;
    margin-top: 24px !important;
    backdrop-filter: blur(8px) !important;
}

.ceec-template-vibrant .ceec-vibrant-form .woocommerce-checkout-payment ul.payment_methods label,
.ceec-template-vibrant .ceec-vibrant-form .woocommerce-checkout-payment .payment_method_title {
    color: #e2e8f0 !important;
}

/* Place order button */
.ceec-template-vibrant .ceec-vibrant-form #place_order,
.ceec-template-vibrant .ceec-vibrant-form .button.alt {
    background: linear-gradient(135deg, #7c3aed 0%, #2563eb 50%, #7c3aed 100%) !important;
    background-size: 200% 100% !important;
    color: #fff !important;
    border: none !important;
    border-radius: 14px !important;
    padding: 18px 32px !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.01em !important;
    width: 100% !important;
    cursor: pointer !important;
    box-shadow: 0 4px 20px rgba(124, 58, 237, 0.5), 0 0 40px rgba(37, 99, 235, 0.2) !important;
    transition: background-position 0.4s ease, transform 0.15s ease, box-shadow 0.15s ease !important;
    text-transform: none !important;
    background-position: 0% 50% !important;
}
.ceec-template-vibrant .ceec-vibrant-form #place_order:hover {
    background-position: 100% 50% !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 28px rgba(124, 58, 237, 0.6), 0 0 50px rgba(37, 99, 235, 0.3) !important;
}

/* WC error/notice messages inside vibrant */
.ceec-template-vibrant .woocommerce-NoticeGroup .woocommerce-error,
.ceec-template-vibrant .woocommerce-NoticeGroup .woocommerce-message,
.ceec-template-vibrant .woocommerce-NoticeGroup .woocommerce-info {
    background: rgba(255,255,255,0.06) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    color: #e2e8f0 !important;
    border-radius: 10px !important;
    padding: 12px 16px !important;
}

/* Select2 inside vibrant */
.ceec-template-vibrant .select2-container .select2-selection--single {
    height: 48px !important;
    border: 1.5px solid rgba(255,255,255,0.1) !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,0.06) !important;
}
.ceec-template-vibrant .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 46px !important;
    padding-left: 16px !important;
    font-size: 0.9rem !important;
    color: #ffffff !important;
}
.ceec-template-vibrant .select2-container .select2-selection--single .select2-selection__arrow {
    height: 46px !important;
}

/* WC col2-set fix for all templates — use same approach as compat mode */
.ceec-template .col2-set {
    display: block !important;
    float: none !important;
    width: 100% !important;
}
.ceec-template .col2-set .col-1,
.ceec-template .col2-set .col-2 {
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
}

/* Responsive: stack form-row-first and last on mobile */
@media (max-width: 560px) {
    .ceec-template .form-row-first,
    .ceec-template .form-row-last {
        width: 100% !important;
        float: none !important;
        clear: both !important;
    }
}

/* ===== WC Notice/Errors inside all templates ===== */
.ceec-template .woocommerce-NoticeGroup,
.ceec-template .woocommerce-error,
.ceec-template .woocommerce-message,
.ceec-template .woocommerce-info,
.ceec-template .woocommerce-form-coupon-toggle {
    width: 100% !important;
    clear: both !important;
    float: none !important;
    margin-bottom: 16px !important;
}

/* Payment method labels in light templates */
.ceec-template-modern .wc_payment_methods li,
.ceec-template-minimal .wc_payment_methods li,
.ceec-template-compact .wc_payment_methods li,
.ceec-template-split .ceec-split-form .wc_payment_methods li {
    list-style: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    padding-bottom: 12px !important;
    margin-bottom: 12px !important;
    border-bottom: 1px solid #f1f3f5 !important;
}
.ceec-template-modern .wc_payment_methods li:last-child,
.ceec-template-minimal .wc_payment_methods li:last-child,
.ceec-template-compact .wc_payment_methods li:last-child,
.ceec-template-split .ceec-split-form .wc_payment_methods li:last-child {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.ceec-template-modern .wc_payment_methods .payment_box,
.ceec-template-minimal .wc_payment_methods .payment_box,
.ceec-template-compact .wc_payment_methods .payment_box,
.ceec-template-split .ceec-split-form .wc_payment_methods .payment_box {
    flex: 1 1 100% !important;
    width: 100% !important;
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 6px !important;
    padding: 10px 12px !important;
    margin-top: 8px !important;
}

/* Payment methods in vibrant */
.ceec-template-vibrant .wc_payment_methods li {
    list-style: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    padding-bottom: 12px !important;
    margin-bottom: 12px !important;
    border-bottom: 1px solid rgba(255,255,255,0.07) !important;
    color: #e2e8f0 !important;
}
.ceec-template-vibrant .wc_payment_methods li:last-child {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.ceec-template-vibrant .wc_payment_methods .payment_box {
    flex: 1 1 100% !important;
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    margin-top: 8px !important;
    color: #e2e8f0 !important;
}


/* =========================================================
   GLOBAL LAYOUT FIX — WooCommerce checkout form structure
   Force single-column stacking for all ceec-template wrappers.
   WC uses float-based col2-set layout by default which breaks
   our single-column template designs.
   ========================================================= */

/* Apply block layout to all templates EXCEPT split and darkside,
   whose forms are the two-column grid containers themselves */
.ceec-template:not(.ceec-template-split):not(.ceec-template-darkside) form.woocommerce-checkout,
.ceec-template:not(.ceec-template-split):not(.ceec-template-darkside) form.checkout {
    display: block !important;
    grid-template-columns: unset !important;
    float: none !important;
    width: 100% !important;
}

.ceec-template:not(.ceec-template-split):not(.ceec-template-darkside) form.woocommerce-checkout::after,
.ceec-template:not(.ceec-template-split):not(.ceec-template-darkside) form.checkout::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

/* col2-set: WC wraps billing+shipping — force full width */
.ceec-template .col2-set,
.ceec-template .col2-set .col-1,
.ceec-template .col2-set .col-2 {
    float: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    clear: both !important;
    display: block !important;
}

/* customer_details block */
.ceec-template #customer_details {
    float: none !important;
    width: 100% !important;
    clear: both !important;
    display: block !important;
    margin-right: 0 !important;
    padding: 0 !important;
}

/* order review heading — keep it full-width, in flow */
.ceec-template #order_review_heading {
    float: none !important;
    width: 100% !important;
    clear: both !important;
    display: block !important;
    margin: 24px 0 12px 0 !important;
    padding: 0 !important;
}

/* order review container */
.ceec-template #order_review {
    float: none !important;
    width: 100% !important;
    clear: both !important;
    display: block !important;
    padding: 0 !important;
    margin-top: 0 !important;
}

/* order review section wrapper */
.ceec-template .woocommerce-checkout-review-order {
    float: none !important;
    width: 100% !important;
    clear: both !important;
    display: block !important;
    margin-bottom: 0 !important;
}


/* =========================================================
   ORDER REVIEW TABLE — Styled for Modern / Minimal / Compact / Vibrant
   ========================================================= */

/* Shared order table base */
.ceec-template-modern .ceec-modern-form .woocommerce-checkout-review-order-table,
.ceec-template-minimal .ceec-minimal-form .woocommerce-checkout-review-order-table,
.ceec-template-compact .ceec-compact-form .woocommerce-checkout-review-order-table,
.ceec-template-vibrant .ceec-vibrant-form .woocommerce-checkout-review-order-table {
    width: 100% !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    margin-bottom: 0 !important;
    border: none !important;
    background: transparent !important;
}

/* thead */
.ceec-template-modern .ceec-modern-form .woocommerce-checkout-review-order-table thead tr th,
.ceec-template-minimal .ceec-minimal-form .woocommerce-checkout-review-order-table thead tr th,
.ceec-template-compact .ceec-compact-form .woocommerce-checkout-review-order-table thead tr th {
    padding: 10px 12px !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    color: #6b7280 !important;
    border-bottom: 2px solid #f3f4f6 !important;
    background: transparent !important;
}

/* Vibrant thead */
.ceec-template-vibrant .ceec-vibrant-form .woocommerce-checkout-review-order-table thead tr th {
    padding: 10px 14px !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: rgba(196,181,253,0.6) !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    background: transparent !important;
}

/* tbody rows */
.ceec-template-modern .ceec-modern-form .woocommerce-checkout-review-order-table tbody tr td,
.ceec-template-minimal .ceec-minimal-form .woocommerce-checkout-review-order-table tbody tr td,
.ceec-template-compact .ceec-compact-form .woocommerce-checkout-review-order-table tbody tr td {
    padding: 12px !important;
    font-size: 0.88rem !important;
    color: #374151 !important;
    border-bottom: 1px solid #f3f4f6 !important;
    background: transparent !important;
    vertical-align: middle !important;
}

.ceec-template-vibrant .ceec-vibrant-form .woocommerce-checkout-review-order-table tbody tr td {
    padding: 12px 14px !important;
    font-size: 0.88rem !important;
    color: rgba(226,232,240,0.9) !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
    background: transparent !important;
    vertical-align: middle !important;
}

/* product name strong */
.ceec-template-modern .ceec-modern-form .woocommerce-checkout-review-order-table tbody .cart_item td .product-name,
.ceec-template-minimal .ceec-minimal-form .woocommerce-checkout-review-order-table tbody .cart_item td .product-name,
.ceec-template-compact .ceec-compact-form .woocommerce-checkout-review-order-table tbody .cart_item td .product-name {
    font-weight: 600 !important;
    color: #111827 !important;
}

.ceec-template-vibrant .ceec-vibrant-form .woocommerce-checkout-review-order-table tbody .cart_item td .product-name {
    font-weight: 600 !important;
    color: #ffffff !important;
}

/* tfoot — subtotal, total rows */
.ceec-template-modern .ceec-modern-form .woocommerce-checkout-review-order-table tfoot tr th,
.ceec-template-modern .ceec-modern-form .woocommerce-checkout-review-order-table tfoot tr td,
.ceec-template-minimal .ceec-minimal-form .woocommerce-checkout-review-order-table tfoot tr th,
.ceec-template-minimal .ceec-minimal-form .woocommerce-checkout-review-order-table tfoot tr td,
.ceec-template-compact .ceec-compact-form .woocommerce-checkout-review-order-table tfoot tr th,
.ceec-template-compact .ceec-compact-form .woocommerce-checkout-review-order-table tfoot tr td {
    padding: 10px 12px !important;
    font-size: 0.85rem !important;
    color: #4b5563 !important;
    border-top: 1px solid #f3f4f6 !important;
    background: transparent !important;
}

/* Total row — make it pop */
.ceec-template-modern .ceec-modern-form .woocommerce-checkout-review-order-table tfoot .order-total th,
.ceec-template-modern .ceec-modern-form .woocommerce-checkout-review-order-table tfoot .order-total td,
.ceec-template-minimal .ceec-minimal-form .woocommerce-checkout-review-order-table tfoot .order-total th,
.ceec-template-minimal .ceec-minimal-form .woocommerce-checkout-review-order-table tfoot .order-total td,
.ceec-template-compact .ceec-compact-form .woocommerce-checkout-review-order-table tfoot .order-total th,
.ceec-template-compact .ceec-compact-form .woocommerce-checkout-review-order-table tfoot .order-total td {
    font-size: 1rem !important;
    font-weight: 800 !important;
    color: #111827 !important;
    border-top: 2px solid #e5e7eb !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}

/* Vibrant tfoot */
.ceec-template-vibrant .ceec-vibrant-form .woocommerce-checkout-review-order-table tfoot tr th,
.ceec-template-vibrant .ceec-vibrant-form .woocommerce-checkout-review-order-table tfoot tr td {
    padding: 10px 14px !important;
    font-size: 0.85rem !important;
    color: rgba(196,181,253,0.8) !important;
    border-top: 1px solid rgba(255,255,255,0.06) !important;
    background: transparent !important;
}
.ceec-template-vibrant .ceec-vibrant-form .woocommerce-checkout-review-order-table tfoot .order-total th,
.ceec-template-vibrant .ceec-vibrant-form .woocommerce-checkout-review-order-table tfoot .order-total td {
    font-size: 1rem !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    border-top: 1px solid rgba(255,255,255,0.15) !important;
    padding-top: 14px !important;
}

/* ---- Order Review Wrapper Cards ---- */

/* Modern order review wrapper */
.ceec-template-modern .ceec-modern-form #order_review_heading {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 28px 0 0 0 !important;
    padding: 20px 20px 16px !important;
    background: #f8fafc !important;
    border: 1.5px solid #e2e8f0 !important;
    border-bottom: none !important;
    border-radius: 14px 14px 0 0 !important;
    letter-spacing: -0.01em !important;
}
.ceec-template-modern .ceec-modern-form #order_review {
    background: #f8fafc !important;
    border: 1.5px solid #e2e8f0 !important;
    border-top: none !important;
    border-radius: 0 0 14px 14px !important;
    padding: 0 20px 20px !important;
    overflow: hidden !important;
}

/* Minimal order review wrapper */
.ceec-template-minimal .ceec-minimal-form #order_review_heading {
    font-size: 0.73rem !important;
    font-weight: 700 !important;
    color: #9ca3af !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    margin: 32px 0 0 0 !important;
    padding: 0 0 12px 0 !important;
    border-bottom: 2px solid #111827 !important;
    background: transparent !important;
}
.ceec-template-minimal .ceec-minimal-form #order_review {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-top: 0 !important;
}

/* Compact order review wrapper */
.ceec-template-compact .ceec-compact-form #order_review_heading {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    color: #6b7280 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    margin: 20px 0 0 0 !important;
    padding: 12px 14px 10px !important;
    background: #f9fafb !important;
    border: 1px solid #e5e7eb !important;
    border-bottom: none !important;
    border-radius: 8px 8px 0 0 !important;
}
.ceec-template-compact .ceec-compact-form #order_review {
    background: #f9fafb !important;
    border: 1px solid #e5e7eb !important;
    border-top: none !important;
    border-radius: 0 0 8px 8px !important;
    padding: 0 14px 14px !important;
}

/* Vibrant order review wrapper */
.ceec-template-vibrant .ceec-vibrant-form #order_review_heading {
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    color: rgba(196,181,253,0.6) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    margin: 28px 0 0 0 !important;
    padding: 18px 18px 14px !important;
    background: rgba(255,255,255,0.04) !important;
    border: 1.5px solid rgba(255,255,255,0.08) !important;
    border-bottom: none !important;
    border-radius: 14px 14px 0 0 !important;
    -webkit-text-fill-color: unset !important;
}
.ceec-template-vibrant .ceec-vibrant-form #order_review {
    background: rgba(255,255,255,0.04) !important;
    border: 1.5px solid rgba(255,255,255,0.08) !important;
    border-top: none !important;
    border-radius: 0 0 14px 14px !important;
    padding: 0 18px 18px !important;
    backdrop-filter: blur(8px) !important;
}


/* =========================================================
   SPLIT TEMPLATE — fix order review visibility
   The split template shows its OWN cart summary in the left panel.
   WC's built-in #order_review (inside the form on the right) should
   be hidden to avoid duplication.
   The left panel custom items use ceec-split-item classes.
   ========================================================= */

/* Hide WC's order review section inside the split form panel */
/* Hide only the order review TABLE + heading — NOT #order_review itself */
.ceec-template-split .ceec-split-panel--form #order_review_heading,
.ceec-template-split .ceec-split-panel--form .woocommerce-checkout-review-order-table {
    display: none !important;
}
.ceec-template-split .ceec-split-panel--form #order_review,
.ceec-template-split .ceec-split-panel--form .woocommerce-checkout-review-order {
    display: block !important; float: none !important; width: 100% !important;
    clear: both !important; padding: 0 !important; margin: 0 !important;
    border: none !important; background: transparent !important;
}
.ceec-template-split .ceec-split-panel--form .place-order {
    display: block !important; margin-top: 16px !important; padding: 0 !important;
}

/* Make sure the split left panel IS visible and not accidentally hidden */
.ceec-template-split .ceec-split-panel--summary {
    display: flex !important;
}

.ceec-template-split .ceec-split-items {
    display: flex !important;
}

.ceec-template-split .ceec-split-item {
    display: flex !important;
}

/* Fix: if cart is empty, the list won't render — show a fallback in the left panel */
.ceec-template-split .ceec-split-panel--summary .ceec-empty-cart {
    color: rgba(255,255,255,0.35) !important;
    text-align: center !important;
    padding: 32px 0 !important;
    font-size: 0.85rem !important;
}

/* Split order review inside the form: also hide the WC payment block heading */
.ceec-template-split .ceec-split-panel--form .woocommerce-checkout-review-order-table {
    display: none !important;
}

/* But keep payment methods visible inside the split form */
.ceec-template-split .ceec-split-panel--form .woocommerce-checkout-payment {
    display: block !important;
    background: #f8f9fb !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 12px !important;
    padding: 18px !important;
    margin-top: 20px !important;
}



/* =========================================================
   SPLIT TEMPLATE v2 — Complete Restyle
   Left: dark sticky summary with full breakdown
   Right: white form panel
   ========================================================= */

.ceec-template-split {
    display: grid;
    grid-template-columns: 320px 1fr;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 8px 40px rgba(0,0,0,.14), 0 2px 8px rgba(0,0,0,.06);
    min-height: 500px;
    border: none;
}

@media (max-width: 800px) {
    .ceec-template-split {
        grid-template-columns: 1fr;
    }
}

/* Summary panel */
.ceec-split-panel--summary {
    background: linear-gradient(175deg, #0f172a 0%, #1e293b 100%);
    padding: 0;
    position: relative;
    overflow: hidden;
}

.ceec-split-panel--summary::after {
    content: "";
    position: absolute;
    top: -100px;
    right: -100px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(59,130,246,.12) 0%, transparent 70%);
    pointer-events: none;
}

/* Sticky inner wrapper */
.ceec-split-sticky {
    position: sticky;
    top: 24px;
    padding: 28px 24px 24px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.ceec-split-summary-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 22px;
}
.ceec-split-summary-header svg {
    color: #60a5fa;
    flex-shrink: 0;
}
.ceec-split-summary-header h3 {
    margin: 0 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #f1f5f9 !important;
    letter-spacing: -0.01em !important;
}

/* Items list */
.ceec-split-items {
    list-style: none !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}

.ceec-split-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.ceec-split-item__thumb {
    width: 52px;
    height: 52px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.08);
}
.ceec-split-item__thumb img {
    width: 52px !important;
    height: 52px !important;
    object-fit: cover !important;
    display: block !important;
}

.ceec-split-item__info {
    flex: 1;
    min-width: 0;
}
.ceec-split-item__name {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    color: #e2e8f0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.35;
    margin-bottom: 2px;
}
.ceec-split-item__qty {
    font-size: 0.72rem;
    color: #8294ac;
    display: block;
}

.ceec-split-item__price {
    font-size: 0.85rem;
    font-weight: 700;
    color: #93c5fd;
    flex-shrink: 0;
    white-space: nowrap;
}
.ceec-split-item__price .woocommerce-Price-amount {
    color: #93c5fd !important;
}

/* Breakdown rows */
.ceec-split-breakdown {
    border-top: 1px solid rgba(255,255,255,0.08);
    padding-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 20px;
}

.ceec-split-breakdown__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.78rem;
    color: #8294ac;
}
.ceec-split-breakdown__row .woocommerce-Price-amount {
    color: #8294ac !important;
}

.ceec-split-breakdown__total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 12px;
    border-top: 1px solid rgba(255,255,255,0.1);
    margin-top: 4px;
}
.ceec-split-breakdown__total span {
    font-size: 0.78rem;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.ceec-split-breakdown__total strong {
    font-size: 1.25rem;
    font-weight: 800;
    color: #ffffff;
}
.ceec-split-breakdown__total strong .woocommerce-Price-amount {
    color: #ffffff !important;
}

/* Trust badges */
.ceec-split-trust-badges {
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,0.06);
}
.ceec-trust-badge {
    font-size: 0.73rem;
    color: #475569;
    font-weight: 500;
    line-height: 1.4;
}

/* Form panel */
.ceec-split-panel--form {
    background: #ffffff;
    padding: 28px 32px 28px;
    overflow-y: auto;
}

.ceec-split-form-header {
    margin-bottom: 22px;
    padding-bottom: 16px;
    border-bottom: 1px solid #f1f5f9;
}
.ceec-split-form-header h3 {
    margin: 0 0 4px 0 !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    letter-spacing: -0.02em !important;
}
.ceec-split-form-header p {
    margin: 0 !important;
    font-size: 0.8rem !important;
    color: #64748b !important;
}

/* Hide WC order review inside the split form panel — summary is in the left panel */
.ceec-template-split .ceec-split-panel--form #order_review_heading,
.ceec-template-split .ceec-split-panel--form #order_review,
.ceec-template-split .ceec-split-panel--form .woocommerce-checkout-review-order,
.ceec-template-split .ceec-split-panel--form .woocommerce-checkout-review-order-table {
    display: none !important;
}
.ceec-template-split .ceec-split-panel--form .woocommerce-checkout-payment {
    display: block !important;
    background: #f8fafc !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 18px !important;
    margin-top: 20px !important;
}

/* Split form field styles */
.ceec-template-split .ceec-split-form .form-row {
    margin-bottom: 16px !important;
    float: none !important;
    clear: none !important;
}
.ceec-template-split .ceec-split-form .form-row label {
    display: block !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    color: #374151 !important;
    margin-bottom: 5px !important;
}
.ceec-template-split .ceec-split-form .form-row input.input-text,
.ceec-template-split .ceec-split-form .form-row input[type="text"],
.ceec-template-split .ceec-split-form .form-row input[type="email"],
.ceec-template-split .ceec-split-form .form-row input[type="tel"],
.ceec-template-split .ceec-split-form .form-row input[type="number"],
.ceec-template-split .ceec-split-form .form-row select,
.ceec-template-split .ceec-split-form .form-row textarea {
    width: 100% !important;
    height: 44px !important;
    padding: 0 12px !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 9px !important;
    font-size: 0.88rem !important;
    color: #111827 !important;
    background: #fafafa !important;
    transition: border-color .15s, box-shadow .15s !important;
    box-shadow: none !important;
    outline: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}
.ceec-template-split .ceec-split-form .form-row textarea {
    height: auto !important;
    min-height: 80px !important;
    padding: 10px 12px !important;
    resize: vertical !important;
}
.ceec-template-split .ceec-split-form .form-row input:focus,
.ceec-template-split .ceec-split-form .form-row select:focus,
.ceec-template-split .ceec-split-form .form-row textarea:focus {
    border-color: #2563eb !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(37,99,235,.1) !important;
}
.ceec-template-split .ceec-split-form .form-row-first { width: 48% !important; float: left !important; clear: left !important; }
.ceec-template-split .ceec-split-form .form-row-last  { width: 48% !important; float: right !important; clear: none !important; }
.ceec-template-split .ceec-split-form .form-row-wide  { width: 100% !important; float: none !important; clear: both !important; }
.ceec-template-split .ceec-split-form .woocommerce-billing-fields::after,
.ceec-template-split .ceec-split-form .woocommerce-shipping-fields::after,
.ceec-template-split .ceec-split-form::after { content:"" !important; display:table !important; clear:both !important; }
.ceec-template-split .ceec-split-form .woocommerce-billing-fields,
.ceec-template-split .ceec-split-form .woocommerce-shipping-fields,
.ceec-template-split .ceec-split-form .woocommerce-additional-fields { float:none !important; width:100% !important; clear:both !important; margin-bottom:20px !important; }
.ceec-template-split .ceec-split-form .woocommerce-billing-fields h3,
.ceec-template-split .ceec-split-form .woocommerce-shipping-fields h3 {
    font-size: 0.72rem !important; font-weight: 700 !important; color: #9ca3af !important;
    text-transform: uppercase !important; letter-spacing: 0.08em !important;
    margin: 0 0 14px 0 !important; padding: 0 !important; border: none !important;
}
.ceec-template-split .ceec-split-form #place_order, .ceec-template-split .ceec-split-form .button.alt {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%) !important;
    color: #fff !important; border: none !important; border-radius: 10px !important;
    padding: 15px 28px !important; font-size: 0.92rem !important; font-weight: 700 !important;
    width: 100% !important; cursor: pointer !important; text-transform: none !important;
    box-shadow: 0 4px 14px rgba(0,0,0,.22) !important; letter-spacing: .01em !important;
    transition: opacity .15s !important;
}
.ceec-template-split .ceec-split-form #place_order:hover { opacity: .88 !important; }
.ceec-template-split .select2-container .select2-selection--single { height:44px !important; border:1.5px solid #e5e7eb !important; border-radius:9px !important; background:#fafafa !important; }
.ceec-template-split .select2-container .select2-selection--single .select2-selection__rendered { line-height:42px !important; padding-left:12px !important; font-size:.88rem !important; }
.ceec-template-split .select2-container .select2-selection--single .select2-selection__arrow { height:42px !important; }


/* =========================================================
   TEMPLATE: STOREFRONT
   Two-column: form left 60%, order summary right 40%
   Clean white, product images, Shopify-inspired
   ========================================================= */

.ceec-template-storefront {
    background: #ffffff;
    border-radius: 18px;
    border: 1px solid #e8edf3;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,.04), 0 20px 40px -8px rgba(0,0,0,.08);
    overflow: hidden;
}

/* Top bar */
.ceec-storefront-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 28px;
    border-bottom: 1px solid #f1f5f9;
    background: #fafbfc;
}
.ceec-storefront-header h3 {
    margin: 0 !important;
    font-size: 1.1rem !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    letter-spacing: -0.03em !important;
}
.ceec-storefront-secure {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.75rem;
    font-weight: 600;
    color: #059669;
}
.ceec-storefront-secure svg { flex-shrink: 0; }

/* Two-column body */
.ceec-storefront-body {
    display: grid;
    grid-template-columns: 1fr 380px;
}
@media (max-width: 860px) {
    .ceec-storefront-body {
        grid-template-columns: 1fr;
    }
}

/* Form column */
.ceec-storefront-form-col {
    padding: 28px 32px;
    border-right: 1px solid #f1f5f9;
}

/* Summary column */
.ceec-storefront-summary-col {
    background: #f8f9fb;
    padding: 28px 24px;
}

.ceec-storefront-summary h4 {
    margin: 0 0 20px 0 !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    color: #6b7280 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
}

/* Items */
.ceec-storefront-items {
    list-style: none !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}
.ceec-storefront-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
}
.ceec-storefront-item__img {
    position: relative;
    width: 64px;
    height: 64px;
    flex-shrink: 0;
    border-radius: 10px;
    overflow: hidden;
    background: #e5e7eb;
    border: 1px solid #e2e8f0;
}
.ceec-storefront-item__img img {
    width: 64px !important;
    height: 64px !important;
    object-fit: cover !important;
    display: block !important;
}
.ceec-storefront-item__qty {
    position: absolute;
    top: -6px;
    right: -6px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #111827;
    color: #ffffff;
    font-size: 0.68rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    border: 1.5px solid #f8f9fb;
}
.ceec-storefront-item__info {
    flex: 1;
    min-width: 0;
}
.ceec-storefront-item__name {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: #111827;
    line-height: 1.35;
    word-break: break-word;
}
.ceec-storefront-item__price {
    font-size: 0.85rem;
    font-weight: 700;
    color: #111827;
    flex-shrink: 0;
    white-space: nowrap;
}

.ceec-storefront-divider {
    height: 1px;
    background: #e5e7eb;
    margin: 4px 0 16px;
}

/* Totals */
.ceec-storefront-totals {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.ceec-storefront-totals__row {
    display: flex;
    justify-content: space-between;
    font-size: 0.83rem;
    color: #6b7280;
}
.ceec-storefront-totals__total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 14px;
    border-top: 2px solid #e5e7eb;
    margin-top: 4px;
}
.ceec-storefront-totals__total span {
    font-size: 0.88rem;
    font-weight: 700;
    color: #374151;
}
.ceec-storefront-totals__total strong {
    font-size: 1.2rem;
    font-weight: 800;
    color: #111827;
}

/* Hide WC order review inside storefront form — shown in right panel */
.ceec-template-storefront .ceec-storefront-form-col #order_review_heading,
.ceec-template-storefront .ceec-storefront-form-col #order_review,
.ceec-template-storefront .ceec-storefront-form-col .woocommerce-checkout-review-order,
.ceec-template-storefront .ceec-storefront-form-col .woocommerce-checkout-review-order-table { display: none !important; }
.ceec-template-storefront .ceec-storefront-form-col .woocommerce-checkout-payment {
    display: block !important; background: #f8fafc !important;
    border: 1.5px solid #e2e8f0 !important; border-radius: 12px !important;
    padding: 18px !important; margin-top: 20px !important;
}

/* Storefront form fields */
.ceec-template-storefront .ceec-storefront-form .form-row { margin-bottom: 16px !important; float: none !important; clear: none !important; }
.ceec-template-storefront .ceec-storefront-form .form-row label {
    display: block !important; font-size: 0.78rem !important; font-weight: 600 !important;
    color: #374151 !important; margin-bottom: 5px !important;
}
.ceec-template-storefront .ceec-storefront-form .form-row input.input-text,
.ceec-template-storefront .ceec-storefront-form .form-row input[type="text"],
.ceec-template-storefront .ceec-storefront-form .form-row input[type="email"],
.ceec-template-storefront .ceec-storefront-form .form-row input[type="tel"],
.ceec-template-storefront .ceec-storefront-form .form-row input[type="number"],
.ceec-template-storefront .ceec-storefront-form .form-row select,
.ceec-template-storefront .ceec-storefront-form .form-row textarea {
    width: 100% !important; height: 44px !important; padding: 0 12px !important;
    border: 1.5px solid #e2e8f0 !important; border-radius: 8px !important;
    font-size: 0.88rem !important; color: #111827 !important; background: #fff !important;
    transition: border-color .15s, box-shadow .15s !important; box-shadow: none !important;
    outline: none !important; appearance: none !important; -webkit-appearance: none !important;
}
.ceec-template-storefront .ceec-storefront-form .form-row textarea { height:auto !important; min-height:80px !important; padding:10px 12px !important; resize:vertical !important; }
.ceec-template-storefront .ceec-storefront-form .form-row input:focus,
.ceec-template-storefront .ceec-storefront-form .form-row select:focus,
.ceec-template-storefront .ceec-storefront-form .form-row textarea:focus {
    border-color: #111827 !important; box-shadow: 0 0 0 3px rgba(17,24,39,.06) !important; background: #fff !important;
}
.ceec-template-storefront .ceec-storefront-form .form-row-first { width:48% !important; float:left !important; clear:left !important; }
.ceec-template-storefront .ceec-storefront-form .form-row-last  { width:48% !important; float:right !important; clear:none !important; }
.ceec-template-storefront .ceec-storefront-form .form-row-wide  { width:100% !important; float:none !important; clear:both !important; }
.ceec-template-storefront .ceec-storefront-form .woocommerce-billing-fields::after,
.ceec-template-storefront .ceec-storefront-form .woocommerce-shipping-fields::after,
.ceec-template-storefront .ceec-storefront-form::after { content:"" !important; display:table !important; clear:both !important; }
.ceec-template-storefront .ceec-storefront-form .woocommerce-billing-fields,
.ceec-template-storefront .ceec-storefront-form .woocommerce-shipping-fields,
.ceec-template-storefront .ceec-storefront-form .woocommerce-additional-fields { float:none !important; width:100% !important; clear:both !important; margin-bottom:20px !important; }
.ceec-template-storefront .ceec-storefront-form .woocommerce-billing-fields h3,
.ceec-template-storefront .ceec-storefront-form .woocommerce-shipping-fields h3,
.ceec-template-storefront .ceec-storefront-form #order_review_heading {
    font-size: 0.88rem !important; font-weight: 700 !important; color: #111827 !important;
    margin: 0 0 16px 0 !important; padding: 0 0 10px 0 !important; border-bottom: 2px solid #f3f4f6 !important;
    letter-spacing: -.01em !important;
}
.ceec-template-storefront .ceec-storefront-form #place_order, .ceec-template-storefront .ceec-storefront-form .button.alt {
    background: #111827 !important; color: #fff !important; border: none !important;
    border-radius: 8px !important; padding: 15px 28px !important; font-size: 0.9rem !important;
    font-weight: 700 !important; width: 100% !important; cursor: pointer !important;
    text-transform: none !important; letter-spacing: .01em !important;
    transition: background .15s !important; box-shadow: none !important;
}
.ceec-template-storefront .ceec-storefront-form #place_order:hover { background: #374151 !important; }
.ceec-template-storefront .select2-container .select2-selection--single { height:44px !important; border:1.5px solid #e2e8f0 !important; border-radius:8px !important; background:#fff !important; }
.ceec-template-storefront .select2-container .select2-selection--single .select2-selection__rendered { line-height:42px !important; padding-left:12px !important; font-size:.88rem !important; }
.ceec-template-storefront .select2-container .select2-selection--single .select2-selection__arrow { height:42px !important; }


/* =========================================================
   TEMPLATE: SECTIONS
   Numbered section groups: Contact → Shipping → Payment
   Clean editorial style with section labels
   ========================================================= */

.ceec-template-sections {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid #eaecef;
    box-shadow: 0 2px 4px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.06);
    overflow: hidden;
}

/* Header */
.ceec-sections-header {
    padding: 24px 32px 20px;
    border-bottom: 1px solid #f3f4f6;
    background: #fafbfc;
}
.ceec-sections-header h3 {
    margin: 0 0 16px 0 !important;
    font-size: 1.3rem !important;
    font-weight: 800 !important;
    color: #111827 !important;
    letter-spacing: -0.03em !important;
}

/* Steps indicator */
.ceec-sections-steps {
    display: flex;
    align-items: center;
    gap: 0;
}
.ceec-sections-step {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 0.75rem;
    font-weight: 600;
    color: #d1d5db;
}
.ceec-sections-step--active {
    color: #111827;
}
.ceec-sections-step__num {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #e5e7eb;
    color: #9ca3af;
    font-size: 0.7rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.ceec-sections-step--active .ceec-sections-step__num {
    background: #111827;
    color: #ffffff;
}
.ceec-sections-step__line {
    width: 32px;
    height: 1px;
    background: #e5e7eb;
    margin: 0 8px;
    flex-shrink: 0;
}

/* Body */
.ceec-sections-body {
    padding: 28px 32px 32px;
}

/* Section blocks inside the form */
.ceec-template-sections .ceec-sections-form .woocommerce-billing-fields,
.ceec-template-sections .ceec-sections-form .woocommerce-shipping-fields,
.ceec-template-sections .ceec-sections-form .woocommerce-additional-fields {
    float: none !important;
    width: 100% !important;
    clear: both !important;
    margin-bottom: 28px !important;
    padding: 22px 22px 8px !important;
    background: #fafbfc !important;
    border: 1.5px solid #e8eaed !important;
    border-radius: 12px !important;
}
.ceec-template-sections .ceec-sections-form .woocommerce-billing-fields h3,
.ceec-template-sections .ceec-sections-form .woocommerce-shipping-fields h3,
.ceec-template-sections .ceec-sections-form .woocommerce-additional-fields h3 {
    margin: 0 0 18px 0 !important;
    padding: 0 !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    color: #111827 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.09em !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.ceec-template-sections .ceec-sections-form .woocommerce-billing-fields h3::before { content: "1"; }
.ceec-template-sections .ceec-sections-form .woocommerce-shipping-fields h3::before { content: "2"; }
.ceec-template-sections .ceec-sections-form .woocommerce-additional-fields h3::before { content: "3"; }
.ceec-template-sections .ceec-sections-form .woocommerce-billing-fields h3::before,
.ceec-template-sections .ceec-sections-form .woocommerce-shipping-fields h3::before,
.ceec-template-sections .ceec-sections-form .woocommerce-additional-fields h3::before {
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    background: #111827 !important;
    color: #fff !important;
    font-size: 0.68rem !important;
    font-weight: 800 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
}

/* Form fields */
.ceec-template-sections .ceec-sections-form .form-row { margin-bottom: 14px !important; float: none !important; clear: none !important; }
.ceec-template-sections .ceec-sections-form .form-row label {
    display: block !important; font-size: 0.75rem !important; font-weight: 600 !important;
    color: #4b5563 !important; margin-bottom: 5px !important;
}
.ceec-template-sections .ceec-sections-form .form-row input.input-text,
.ceec-template-sections .ceec-sections-form .form-row input[type="text"],
.ceec-template-sections .ceec-sections-form .form-row input[type="email"],
.ceec-template-sections .ceec-sections-form .form-row input[type="tel"],
.ceec-template-sections .ceec-sections-form .form-row input[type="number"],
.ceec-template-sections .ceec-sections-form .form-row select,
.ceec-template-sections .ceec-sections-form .form-row textarea {
    width: 100% !important; height: 44px !important; padding: 0 12px !important;
    border: 1.5px solid #dde1e7 !important; border-radius: 8px !important;
    font-size: 0.88rem !important; color: #111827 !important; background: #fff !important;
    transition: border-color .15s, box-shadow .15s !important; box-shadow: none !important;
    outline: none !important; appearance: none !important; -webkit-appearance: none !important;
}
.ceec-template-sections .ceec-sections-form .form-row textarea { height:auto !important; min-height:80px !important; padding:10px 12px !important; resize:vertical !important; }
.ceec-template-sections .ceec-sections-form .form-row input:focus,
.ceec-template-sections .ceec-sections-form .form-row select:focus,
.ceec-template-sections .ceec-sections-form .form-row textarea:focus {
    border-color: #111827 !important; box-shadow: 0 0 0 3px rgba(17,24,39,.06) !important;
}
.ceec-template-sections .ceec-sections-form .form-row-first { width:48% !important; float:left !important; clear:left !important; }
.ceec-template-sections .ceec-sections-form .form-row-last  { width:48% !important; float:right !important; clear:none !important; }
.ceec-template-sections .ceec-sections-form .form-row-wide  { width:100% !important; float:none !important; clear:both !important; }
.ceec-template-sections .ceec-sections-form .woocommerce-billing-fields::after,
.ceec-template-sections .ceec-sections-form .woocommerce-shipping-fields::after,
.ceec-template-sections .ceec-sections-form::after { content:"" !important; display:table !important; clear:both !important; }

/* Order review — styled as a section block */
.ceec-template-sections .ceec-sections-form #order_review_heading {
    font-size: 0.78rem !important; font-weight: 800 !important; color: #111827 !important;
    text-transform: uppercase !important; letter-spacing: 0.09em !important;
    margin: 0 0 18px 0 !important; padding: 22px 22px 0 !important;
    border: none !important; background: transparent !important;
    display: flex !important; align-items: center !important; gap: 8px !important;
}
.ceec-template-sections .ceec-sections-form #order_review_heading::before {
    content: "4" !important;
    width: 22px !important; height: 22px !important; border-radius: 50% !important;
    background: #111827 !important; color: #fff !important; font-size: 0.68rem !important;
    font-weight: 800 !important; display: inline-flex !important; align-items: center !important;
    justify-content: center !important; flex-shrink: 0 !important; line-height: 1 !important;
}
.ceec-template-sections .ceec-sections-form #order_review {
    padding: 0 22px 22px !important;
    background: #fafbfc !important;
    border: 1.5px solid #e8eaed !important;
    border-radius: 12px !important;
    margin-bottom: 24px !important;
}

/* Order table inside sections */
.ceec-template-sections .ceec-sections-form .woocommerce-checkout-review-order-table {
    width: 100% !important; border-collapse: collapse !important; border: none !important;
}
.ceec-template-sections .ceec-sections-form .woocommerce-checkout-review-order-table thead th {
    font-size: 0.7rem !important; font-weight: 700 !important; text-transform: uppercase !important;
    letter-spacing: .07em !important; color: #9ca3af !important;
    border-bottom: 1.5px solid #e5e7eb !important; padding: 8px 10px !important; background: transparent !important;
}
.ceec-template-sections .ceec-sections-form .woocommerce-checkout-review-order-table tbody td {
    padding: 10px !important; font-size: 0.85rem !important; color: #374151 !important;
    border-bottom: 1px solid #f3f4f6 !important; background: transparent !important;
}
.ceec-template-sections .ceec-sections-form .woocommerce-checkout-review-order-table tfoot th,
.ceec-template-sections .ceec-sections-form .woocommerce-checkout-review-order-table tfoot td {
    padding: 9px 10px !important; font-size: 0.82rem !important; color: #6b7280 !important;
    border-top: 1px solid #f3f4f6 !important; background: transparent !important;
}
.ceec-template-sections .ceec-sections-form .woocommerce-checkout-review-order-table tfoot .order-total th,
.ceec-template-sections .ceec-sections-form .woocommerce-checkout-review-order-table tfoot .order-total td {
    font-size: 1rem !important; font-weight: 800 !important; color: #111827 !important;
    border-top: 2px solid #e5e7eb !important; padding-top: 12px !important;
}
.ceec-template-sections .ceec-sections-form .woocommerce-checkout-payment {
    background: #fafbfc !important; border: 1.5px solid #e8eaed !important;
    border-radius: 12px !important; padding: 20px 22px !important; margin-top: 0 !important;
}
.ceec-template-sections .ceec-sections-form #place_order, .ceec-template-sections .ceec-sections-form .button.alt {
    background: #111827 !important; color: #fff !important; border: none !important;
    border-radius: 8px !important; padding: 15px 28px !important; font-size: 0.9rem !important;
    font-weight: 700 !important; width: 100% !important; cursor: pointer !important;
    text-transform: none !important; transition: background .15s !important;
}
.ceec-template-sections .ceec-sections-form #place_order:hover { background: #374151 !important; }
.ceec-template-sections .select2-container .select2-selection--single { height:44px !important; border:1.5px solid #dde1e7 !important; border-radius:8px !important; background:#fff !important; }
.ceec-template-sections .select2-container .select2-selection--single .select2-selection__rendered { line-height:42px !important; padding-left:12px !important; font-size:.88rem !important; }
.ceec-template-sections .select2-container .select2-selection--single .select2-selection__arrow { height:42px !important; }

/*
 * CoderEmbassy Express Checkout Pro — New Templates CSS
 * Covers: Storefront, Darkside, Sections, Warmth
 * All templates guarantee a visible Place Order button.
 * =======================================================
 */

/* -------------------------------------------------------
   SHARED HELPERS for new templates
   ------------------------------------------------------- */

/* All new templates: force WC form layout into single column
   (customer_details, col2-set, order_review all stacked)
   NOTE: darkside and split are EXCLUDED here — their forms ARE the two-column grid */
.ceec-template-storefront form.woocommerce-checkout,
.ceec-template-sections   form.woocommerce-checkout,
.ceec-template-warmth     form.woocommerce-checkout {
    display: block !important;
    grid-template-columns: unset !important;
    float: none !important;
    width: 100% !important;
}
.ceec-template-storefront form.woocommerce-checkout::after,
.ceec-template-sections   form.woocommerce-checkout::after,
.ceec-template-warmth     form.woocommerce-checkout::after {
    content: "" !important; display: table !important; clear: both !important;
}

/* Darkside form IS the two-column grid — override the block display above */
.ceec-template-darkside form.woocommerce-checkout {
    float: none !important;
    width: 100% !important;
}
.ceec-template-darkside form.woocommerce-checkout::after {
    display: none !important;
}
.ceec-template-storefront .col2-set,
.ceec-template-darkside   .col2-set,
.ceec-template-sections   .col2-set,
.ceec-template-warmth     .col2-set,
.ceec-template-storefront .col2-set .col-1,
.ceec-template-darkside   .col2-set .col-1,
.ceec-template-sections   .col2-set .col-1,
.ceec-template-warmth     .col2-set .col-1,
.ceec-template-storefront .col2-set .col-2,
.ceec-template-darkside   .col2-set .col-2,
.ceec-template-sections   .col2-set .col-2,
.ceec-template-warmth     .col2-set .col-2 {
    float: none !important; width: 100% !important;
    padding: 0 !important; margin: 0 !important; clear: both !important; display: block !important;
}
.ceec-template-storefront #customer_details,
.ceec-template-darkside   #customer_details,
.ceec-template-sections   #customer_details,
.ceec-template-warmth     #customer_details {
    float: none !important; width: 100% !important; clear: both !important;
    display: block !important; margin-right: 0 !important; padding: 0 !important;
}

/* Guarantee Place Order button is always visible in all new templates */
.ceec-template-storefront .ceec-sf-form   .place-order,
.ceec-template-darkside   .ceec-ds-form   .place-order,
.ceec-template-sections   .ceec-sec-form  .place-order,
.ceec-template-warmth     .ceec-wm-form   .place-order {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-top: 20px !important;
    width: 100% !important;
    float: none !important;
    clear: both !important;
    padding: 0 !important;
}
.ceec-template-storefront .ceec-sf-form   #place_order,
.ceec-template-darkside   .ceec-ds-form   #place_order,
.ceec-template-sections   .ceec-sec-form  #place_order,
.ceec-template-warmth     .ceec-wm-form   #place_order {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    cursor: pointer !important;
}

/* Shared field resets for all new templates */
.ceec-template-storefront .ceec-sf-form   .woocommerce-billing-fields::after,
.ceec-template-darkside   .ceec-ds-form   .woocommerce-billing-fields::after,
.ceec-template-sections   .ceec-sec-form  .woocommerce-billing-fields::after,
.ceec-template-warmth     .ceec-wm-form   .woocommerce-billing-fields::after,
.ceec-template-storefront .ceec-sf-form   .woocommerce-shipping-fields::after,
.ceec-template-darkside   .ceec-ds-form   .woocommerce-shipping-fields::after,
.ceec-template-sections   .ceec-sec-form  .woocommerce-shipping-fields::after,
.ceec-template-warmth     .ceec-wm-form   .woocommerce-shipping-fields::after,
.ceec-template-storefront .ceec-sf-form::after,
.ceec-template-darkside   .ceec-ds-form::after,
.ceec-template-sections   .ceec-sec-form::after,
.ceec-template-warmth     .ceec-wm-form::after {
    content: "" !important; display: table !important; clear: both !important;
}
.ceec-template-storefront .ceec-sf-form   .woocommerce-billing-fields,
.ceec-template-darkside   .ceec-ds-form   .woocommerce-billing-fields,
.ceec-template-sections   .ceec-sec-form  .woocommerce-billing-fields,
.ceec-template-warmth     .ceec-wm-form   .woocommerce-billing-fields,
.ceec-template-storefront .ceec-sf-form   .woocommerce-shipping-fields,
.ceec-template-darkside   .ceec-ds-form   .woocommerce-shipping-fields,
.ceec-template-sections   .ceec-sec-form  .woocommerce-shipping-fields,
.ceec-template-warmth     .ceec-wm-form   .woocommerce-shipping-fields,
.ceec-template-storefront .ceec-sf-form   .woocommerce-additional-fields,
.ceec-template-darkside   .ceec-ds-form   .woocommerce-additional-fields,
.ceec-template-sections   .ceec-sec-form  .woocommerce-additional-fields,
.ceec-template-warmth     .ceec-wm-form   .woocommerce-additional-fields {
    float: none !important; width: 100% !important; clear: both !important; margin-bottom: 22px !important;
}

/* =====================================================
   TEMPLATE: STOREFRONT
   Clean two-column — form 60% left, summary 40% right
   White bg, crisp borders, Shopify-inspired
   ===================================================== */

.ceec-template-storefront {
    background: #ffffff;
    border-radius: 18px;
    border: 1px solid #e2e6ea;
    box-shadow: 0 2px 4px rgba(0,0,0,.04), 0 16px 40px rgba(0,0,0,.08);
    overflow: hidden;
}

/* Top bar */
.ceec-sf-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 28px;
    border-bottom: 1px solid #f1f3f5;
    background: #fafbfc;
}
.ceec-sf-topbar__title {
    font-size: 1.05rem;
    font-weight: 800;
    color: #111827;
    letter-spacing: -0.02em;
}
.ceec-sf-topbar__secure {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.73rem;
    font-weight: 600;
    color: #059669;
}

/* Body: two columns */
.ceec-sf-body {
    display: grid;
    grid-template-columns: 1fr 360px;
}
@media (max-width: 860px) {
    .ceec-sf-body { grid-template-columns: 1fr; }
}

/* Form column */
.ceec-sf-form-col {
    padding: 28px 32px 32px;
    border-right: 1px solid #f1f3f5;
}

/* Summary column */
.ceec-sf-summary-col {
    background: #f8f9fb;
    padding: 28px 24px 32px;
}
.ceec-sf-summary__title {
    margin: 0 0 20px 0 !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    color: #6b7280 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
}

/* Items */
.ceec-sf-items {
    list-style: none !important;
    margin: 0 0 18px 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}
.ceec-sf-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
}
.ceec-sf-item__img {
    position: relative;
    width: 64px;
    height: 64px;
    flex-shrink: 0;
    border-radius: 10px;
    overflow: hidden;
    background: #e5e7eb;
    border: 1px solid #e2e8f0;
}
.ceec-sf-item__img img {
    width: 64px !important; height: 64px !important;
    object-fit: cover !important; display: block !important;
}
.ceec-sf-item__badge {
    position: absolute;
    top: -6px; right: -6px;
    width: 20px; height: 20px;
    border-radius: 50%;
    background: #111827;
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #f8f9fb;
    line-height: 1;
}
.ceec-sf-item__info {
    flex: 1;
    min-width: 0;
}
.ceec-sf-item__name {
    display: block;
    font-size: 0.83rem;
    font-weight: 600;
    color: #111827;
    line-height: 1.35;
    word-break: break-word;
}
.ceec-sf-item__price {
    font-size: 0.83rem;
    font-weight: 700;
    color: #111827;
    flex-shrink: 0;
    white-space: nowrap;
}

.ceec-sf-divider {
    height: 1px;
    background: #e5e7eb;
    margin: 4px 0 16px;
}

/* Totals */
.ceec-sf-totals {
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 9px;
}
.ceec-sf-totals__row {
    display: flex !important;
    justify-content: space-between !important;
    font-size: 0.82rem !important;
    color: #6b7280 !important;
    margin: 0 !important;
}
.ceec-sf-totals__row dt, .ceec-sf-totals__row dd { margin: 0 !important; padding: 0 !important; }
.ceec-sf-totals__total {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding-top: 12px !important;
    border-top: 2px solid #e5e7eb !important;
    margin-top: 4px !important;
}
.ceec-sf-totals__total dt {
    font-size: 0.88rem !important; font-weight: 700 !important;
    color: #374151 !important; margin: 0 !important;
}
.ceec-sf-totals__total dd {
    font-size: 1.15rem !important; font-weight: 800 !important;
    color: #111827 !important; margin: 0 !important;
}
.ceec-sf-totals__total .woocommerce-Price-amount { color: #111827 !important; }

/* Hide only the order review TABLE — keep payment + place order visible */
.ceec-template-storefront .ceec-sf-form-col #order_review_heading,
.ceec-template-storefront .ceec-sf-form-col .woocommerce-checkout-review-order-table { display: none !important; }
.ceec-template-storefront .ceec-sf-form-col #order_review,
.ceec-template-storefront .ceec-sf-form-col .woocommerce-checkout-review-order {
    display: block !important; float: none !important; width: 100% !important;
    clear: both !important; padding: 0 !important; margin: 0 !important;
    border: none !important; background: transparent !important;
}
.ceec-template-storefront .ceec-sf-form-col .woocommerce-checkout-payment {
    display: block !important;
    background: #f8fafc !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 18px !important;
    margin-top: 22px !important;
}
.ceec-template-storefront .ceec-sf-form-col .place-order {
    display: block !important; margin-top: 16px !important; padding: 0 !important;
}

/* Form fields */
.ceec-template-storefront .ceec-sf-form .form-row { margin-bottom: 15px !important; float: none !important; clear: none !important; }
.ceec-template-storefront .ceec-sf-form .form-row label { display:block !important; font-size:.77rem !important; font-weight:600 !important; color:#374151 !important; margin-bottom:5px !important; }
.ceec-template-storefront .ceec-sf-form .form-row input.input-text,
.ceec-template-storefront .ceec-sf-form .form-row input[type="text"],
.ceec-template-storefront .ceec-sf-form .form-row input[type="email"],
.ceec-template-storefront .ceec-sf-form .form-row input[type="tel"],
.ceec-template-storefront .ceec-sf-form .form-row input[type="number"],
.ceec-template-storefront .ceec-sf-form .form-row select,
.ceec-template-storefront .ceec-sf-form .form-row textarea {
    width:100% !important; height:44px !important; padding:0 12px !important;
    border:1.5px solid #e2e8f0 !important; border-radius:8px !important;
    font-size:.88rem !important; color:#111827 !important; background:#fff !important;
    transition:border-color .15s, box-shadow .15s !important;
    box-shadow:none !important; outline:none !important;
    appearance:none !important; -webkit-appearance:none !important;
}
.ceec-template-storefront .ceec-sf-form .form-row textarea { height:auto !important; min-height:80px !important; padding:10px 12px !important; resize:vertical !important; }
.ceec-template-storefront .ceec-sf-form .form-row input:focus,
.ceec-template-storefront .ceec-sf-form .form-row select:focus,
.ceec-template-storefront .ceec-sf-form .form-row textarea:focus {
    border-color:#111827 !important; box-shadow:0 0 0 3px rgba(17,24,39,.07) !important;
}
.ceec-template-storefront .ceec-sf-form .form-row-first { width:48% !important; float:left !important; clear:left !important; }
.ceec-template-storefront .ceec-sf-form .form-row-last  { width:48% !important; float:right !important; clear:none !important; }
.ceec-template-storefront .ceec-sf-form .form-row-wide  { width:100% !important; float:none !important; clear:both !important; }
.ceec-template-storefront .ceec-sf-form .woocommerce-billing-fields h3,
.ceec-template-storefront .ceec-sf-form .woocommerce-shipping-fields h3 {
    font-size:.82rem !important; font-weight:700 !important; color:#111827 !important;
    margin:0 0 14px 0 !important; padding:0 0 10px 0 !important;
    border-bottom:2px solid #f3f4f6 !important; letter-spacing:-.01em !important;
}
.ceec-template-storefront .ceec-sf-form #place_order,
.ceec-template-storefront .ceec-sf-form .button.alt {
    background:#111827 !important; color:#fff !important; border:none !important;
    border-radius:8px !important; padding:15px 24px !important;
    font-size:.92rem !important; font-weight:700 !important; width:100% !important;
    cursor:pointer !important; text-transform:none !important; letter-spacing:.01em !important;
    transition:background .15s !important; display:block !important;
}
.ceec-template-storefront .ceec-sf-form #place_order:hover { background:#374151 !important; }
.ceec-template-storefront .select2-container .select2-selection--single { height:44px !important; border:1.5px solid #e2e8f0 !important; border-radius:8px !important; background:#fff !important; }
.ceec-template-storefront .select2-container .select2-selection--single .select2-selection__rendered { line-height:42px !important; padding-left:12px !important; font-size:.88rem !important; }
.ceec-template-storefront .select2-container .select2-selection--single .select2-selection__arrow { height:42px !important; }


/* =====================================================
   TEMPLATE: DARKSIDE
   Light left form panel, dark navy right cart panel
   Inspired by image 7
   ===================================================== */

.ceec-template-darkside {
    display: grid;
    grid-template-columns: 1fr 380px;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 6px 32px rgba(0,0,0,.12), 0 2px 6px rgba(0,0,0,.06);
}
@media (max-width: 860px) {
    .ceec-template-darkside { grid-template-columns: 1fr; }
    .ceec-ds-cart-panel { order: -1; }
}

/* LEFT: form panel */
.ceec-ds-form-panel {
    background: #ffffff;
    padding: 32px 32px 28px;
}
.ceec-ds-form-header {
    margin-bottom: 24px;
    padding-bottom: 18px;
    border-bottom: 1px solid #f3f4f6;
}
.ceec-ds-form-header h3 {
    margin: 0 0 4px 0 !important;
    font-size: 1.4rem !important;
    font-weight: 800 !important;
    color: #111827 !important;
    letter-spacing: -0.03em !important;
}
.ceec-ds-form-header p {
    margin: 0 !important;
    font-size: 0.82rem !important;
    color: #6b7280 !important;
}

/* RIGHT: dark cart panel */
.ceec-ds-cart-panel {
    background: #0b1120;
    padding: 32px 26px;
    position: relative;
    overflow: hidden;
}
.ceec-ds-cart-panel::before {
    content: "";
    position: absolute;
    top: -80px; right: -60px;
    width: 220px; height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(99,102,241,.18) 0%, transparent 70%);
    pointer-events: none;
}

.ceec-ds-cart-inner { position: relative; z-index: 1; }

.ceec-ds-cart__title {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 22px 0 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #f1f5f9 !important;
}
.ceec-ds-cart__title svg { color: #818cf8; flex-shrink: 0; }

/* Items */
.ceec-ds-items {
    list-style: none !important;
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}
.ceec-ds-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px !important;
    background: rgba(255,255,255,.04) !important;
    border: 1px solid rgba(255,255,255,.07) !important;
    border-radius: 10px !important;
}
.ceec-ds-item__thumb {
    width: 52px; height: 52px;
    border-radius: 8px; overflow: hidden;
    flex-shrink: 0;
    background: rgba(255,255,255,.08);
}
.ceec-ds-item__thumb img { width:52px !important; height:52px !important; object-fit:cover !important; display:block !important; }
.ceec-ds-item__info { flex: 1; min-width: 0; }
.ceec-ds-item__name {
    display: block;
    font-size: 0.82rem; font-weight: 600; color: #e2e8f0;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    margin-bottom: 2px;
}
.ceec-ds-item__qty { font-size: 0.72rem; color: #acbed9; }
.ceec-ds-item__price {
    font-size: 0.88rem; font-weight: 700; color: #818cf8;
    flex-shrink: 0; white-space: nowrap;
}
.ceec-ds-item__price .woocommerce-Price-amount { color: #818cf8 !important; }

/* Price details */
.ceec-ds-price-details {
    border-top: 1px solid rgba(255,255,255,.08);
    padding-top: 18px;
}
.ceec-ds-price-details h5 {
    margin: 0 0 12px 0 !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    color: rgba(255,255,255,.35) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.09em !important;
}
.ceec-ds-price-details dl { margin: 0 !important; padding: 0 !important; }
.ceec-ds-price-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 10px !important;
}
.ceec-ds-price-row dt { font-size: .8rem !important; color: #64748b !important; margin: 0 !important; }
.ceec-ds-price-row dd { font-size: .8rem !important; color: #94a3b8 !important; margin: 0 !important; }
.ceec-ds-price-row dd .woocommerce-Price-amount { color: #94a3b8 !important; }
.ceec-ds-price-row--total {
    padding-top: 12px !important;
    border-top: 1px solid rgba(255,255,255,.1) !important;
    margin-top: 4px !important;
    margin-bottom: 0 !important;
}
.ceec-ds-price-row--total dt { font-size: .85rem !important; font-weight: 700 !important; color: #f1f5f9 !important; }
.ceec-ds-price-row--total dd { font-size: 1.2rem !important; font-weight: 800 !important; color: #ffffff !important; }
.ceec-ds-price-row--total dd .woocommerce-Price-amount { color: #ffffff !important; }

/* Hide only the order review TABLE — keep payment + place order visible */
.ceec-template-darkside .ceec-ds-form-panel #order_review_heading,
.ceec-template-darkside .ceec-ds-form-panel .woocommerce-checkout-review-order-table { display: none !important; }
.ceec-template-darkside .ceec-ds-form-panel #order_review,
.ceec-template-darkside .ceec-ds-form-panel .woocommerce-checkout-review-order {
    display: block !important; float: none !important; width: 100% !important;
    clear: both !important; padding: 0 !important; margin: 0 !important;
    border: none !important; background: transparent !important;
}
.ceec-template-darkside .ceec-ds-form-panel .woocommerce-checkout-payment {
    display: block !important;
    background: #f8fafc !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 18px !important;
    margin-top: 22px !important;
}
.ceec-template-darkside .ceec-ds-form-panel .place-order {
    display: block !important; margin-top: 16px !important; padding: 0 !important;
}

/* Form fields */
.ceec-template-darkside .ceec-ds-form .form-row { margin-bottom: 15px !important; float:none !important; clear:none !important; }
.ceec-template-darkside .ceec-ds-form .form-row label { display:block !important; font-size:.77rem !important; font-weight:600 !important; color:#374151 !important; margin-bottom:5px !important; }
.ceec-template-darkside .ceec-ds-form .form-row input.input-text,
.ceec-template-darkside .ceec-ds-form .form-row input[type="text"],
.ceec-template-darkside .ceec-ds-form .form-row input[type="email"],
.ceec-template-darkside .ceec-ds-form .form-row input[type="tel"],
.ceec-template-darkside .ceec-ds-form .form-row input[type="number"],
.ceec-template-darkside .ceec-ds-form .form-row select,
.ceec-template-darkside .ceec-ds-form .form-row textarea {
    width:100% !important; height:44px !important; padding:0 12px !important;
    border:1.5px solid #e5e7eb !important; border-radius:9px !important;
    font-size:.88rem !important; color:#111827 !important; background:#fafafa !important;
    transition:border-color .15s, box-shadow .15s !important;
    box-shadow:none !important; outline:none !important;
    appearance:none !important; -webkit-appearance:none !important;
}
.ceec-template-darkside .ceec-ds-form .form-row textarea { height:auto !important; min-height:80px !important; padding:10px 12px !important; resize:vertical !important; }
.ceec-template-darkside .ceec-ds-form .form-row input:focus,
.ceec-template-darkside .ceec-ds-form .form-row select:focus,
.ceec-template-darkside .ceec-ds-form .form-row textarea:focus {
    border-color:#6366f1 !important; background:#fff !important; box-shadow:0 0 0 3px rgba(99,102,241,.1) !important;
}
.ceec-template-darkside .ceec-ds-form .form-row-first { width:48% !important; float:left !important; clear:left !important; }
.ceec-template-darkside .ceec-ds-form .form-row-last  { width:48% !important; float:right !important; clear:none !important; }
.ceec-template-darkside .ceec-ds-form .form-row-wide  { width:100% !important; float:none !important; clear:both !important; }
.ceec-template-darkside .ceec-ds-form .woocommerce-billing-fields h3,
.ceec-template-darkside .ceec-ds-form .woocommerce-shipping-fields h3 {
    font-size:.75rem !important; font-weight:700 !important; color:#9ca3af !important;
    text-transform:uppercase !important; letter-spacing:.09em !important;
    margin:0 0 14px 0 !important; padding:0 !important; border:none !important;
}
.ceec-template-darkside .ceec-ds-form #place_order,
.ceec-template-darkside .ceec-ds-form .button.alt {
    background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%) !important;
    color:#fff !important; border:none !important; border-radius:10px !important;
    padding:16px 24px !important; font-size:.92rem !important; font-weight:700 !important;
    width:100% !important; cursor:pointer !important; text-transform:none !important;
    box-shadow:0 4px 14px rgba(99,102,241,.4) !important;
    transition:opacity .15s, transform .15s !important; display:block !important;
    letter-spacing:.01em !important;
}
.ceec-template-darkside .ceec-ds-form #place_order:hover {
    opacity:.9 !important; transform:translateY(-1px) !important;
}
.ceec-template-darkside .select2-container .select2-selection--single { height:44px !important; border:1.5px solid #e5e7eb !important; border-radius:9px !important; background:#fafafa !important; }
.ceec-template-darkside .select2-container .select2-selection--single .select2-selection__rendered { line-height:42px !important; padding-left:12px !important; font-size:.88rem !important; }
.ceec-template-darkside .select2-container .select2-selection--single .select2-selection__arrow { height:42px !important; }


/* =====================================================
   TEMPLATE: SECTIONS
   Numbered section-grouped steps with card blocks
   Inspired by image 6
   ===================================================== */

.ceec-template-sections {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid #eaecef;
    box-shadow: 0 2px 4px rgba(0,0,0,.04), 0 10px 28px rgba(0,0,0,.07);
    overflow: hidden;
}

/* Header */
.ceec-sec-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    padding: 22px 32px 18px;
    border-bottom: 1px solid #f3f4f6;
    background: #fafbfc;
}
.ceec-sec-header__left h3 {
    margin: 0 !important;
    font-size: 1.25rem !important;
    font-weight: 800 !important;
    color: #111827 !important;
    letter-spacing: -0.03em !important;
}

/* Step indicator */
.ceec-sec-steps {
    display: flex;
    align-items: center;
    gap: 0;
    flex-shrink: 0;
}
.ceec-sec-step {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.73rem;
    font-weight: 600;
    color: #d1d5db;
}
.ceec-sec-step--active { color: #111827; }
.ceec-sec-step--done   { color: #059669; }
.ceec-sec-step__n {
    width: 22px; height: 22px;
    border-radius: 50%;
    background: #e5e7eb;
    color: #9ca3af;
    font-size: 0.68rem; font-weight: 800;
    display: inline-flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    transition: background .2s, color .2s;
}
.ceec-sec-step--active .ceec-sec-step__n { background: #111827; color: #fff; }
.ceec-sec-step--done   .ceec-sec-step__n { background: #059669; color: #fff; }
.ceec-sec-step__label { white-space: nowrap; }
.ceec-sec-connector {
    width: 28px; height: 1px;
    background: #e5e7eb;
    margin: 0 6px;
    flex-shrink: 0;
}

/* Body */
.ceec-sec-body {
    padding: 28px 32px 32px;
}

/* Group each WC section into its own card */
.ceec-template-sections .ceec-sec-form .woocommerce-billing-fields,
.ceec-template-sections .ceec-sec-form .woocommerce-shipping-fields,
.ceec-template-sections .ceec-sec-form .woocommerce-additional-fields {
    float: none !important; width: 100% !important; clear: both !important;
    margin-bottom: 20px !important;
    padding: 20px 20px 6px !important;
    background: #fafbfc !important;
    border: 1.5px solid #e8eaed !important;
    border-radius: 12px !important;
}
.ceec-template-sections .ceec-sec-form .woocommerce-billing-fields h3,
.ceec-template-sections .ceec-sec-form .woocommerce-shipping-fields h3,
.ceec-template-sections .ceec-sec-form .woocommerce-additional-fields h3 {
    margin: 0 0 16px 0 !important; padding: 0 !important;
    font-size: .78rem !important; font-weight: 800 !important; color: #111827 !important;
    text-transform: uppercase !important; letter-spacing: .09em !important;
    border: none !important; background: transparent !important;
    display: flex !important; align-items: center !important; gap: 8px !important;
}

/* Numbered circles on section headings */
.ceec-template-sections .ceec-sec-form .woocommerce-billing-fields h3::before   { content: "1"; }
.ceec-template-sections .ceec-sec-form .woocommerce-shipping-fields h3::before   { content: "2"; }
.ceec-template-sections .ceec-sec-form .woocommerce-additional-fields h3::before { content: "3"; }
.ceec-template-sections .ceec-sec-form .woocommerce-billing-fields   h3::before,
.ceec-template-sections .ceec-sec-form .woocommerce-shipping-fields   h3::before,
.ceec-template-sections .ceec-sec-form .woocommerce-additional-fields h3::before {
    width: 22px !important; height: 22px !important; border-radius: 50% !important;
    background: #111827 !important; color: #fff !important;
    font-size: .68rem !important; font-weight: 800 !important;
    display: inline-flex !important; align-items: center !important;
    justify-content: center !important; flex-shrink: 0 !important; line-height: 1 !important;
}

/* Order review styled as section 4 */
.ceec-template-sections .ceec-sec-form #order_review_heading {
    font-size: .78rem !important; font-weight: 800 !important; color: #111827 !important;
    text-transform: uppercase !important; letter-spacing: .09em !important;
    margin: 0 !important; padding: 20px 20px 16px !important;
    border: none !important; display: flex !important;
    align-items: center !important; gap: 8px !important; background: transparent !important;
}
.ceec-template-sections .ceec-sec-form #order_review_heading::before {
    content: "4" !important;
    width: 22px !important; height: 22px !important; border-radius: 50% !important;
    background: #111827 !important; color: #fff !important;
    font-size: .68rem !important; font-weight: 800 !important;
    display: inline-flex !important; align-items: center !important;
    justify-content: center !important; flex-shrink: 0 !important; line-height: 1 !important;
}
.ceec-template-sections .ceec-sec-form #order_review {
    padding: 0 20px 20px !important;
    background: #fafbfc !important;
    border: 1.5px solid #e8eaed !important;
    border-radius: 0 0 12px 12px !important;
    margin-top: -2px !important;
    margin-bottom: 20px !important;
}
.ceec-template-sections .ceec-sec-form #order_review_heading {
    border-radius: 12px 12px 0 0 !important;
    border: 1.5px solid #e8eaed !important;
    border-bottom: none !important;
    background: #fafbfc !important;
}
/* Order review table */
.ceec-template-sections .ceec-sec-form .woocommerce-checkout-review-order-table {
    width: 100% !important; border-collapse: collapse !important; border: none !important;
}
.ceec-template-sections .ceec-sec-form .woocommerce-checkout-review-order-table thead th {
    font-size:.7rem !important; font-weight:700 !important; text-transform:uppercase !important;
    letter-spacing:.07em !important; color:#9ca3af !important;
    border-bottom:1.5px solid #e5e7eb !important; padding:8px 10px !important; background:transparent !important;
}
.ceec-template-sections .ceec-sec-form .woocommerce-checkout-review-order-table tbody td {
    padding:10px !important; font-size:.85rem !important; color:#374151 !important;
    border-bottom:1px solid #f3f4f6 !important; background:transparent !important;
}
.ceec-template-sections .ceec-sec-form .woocommerce-checkout-review-order-table tfoot th,
.ceec-template-sections .ceec-sec-form .woocommerce-checkout-review-order-table tfoot td {
    padding:9px 10px !important; font-size:.82rem !important; color:#6b7280 !important;
    border-top:1px solid #f3f4f6 !important; background:transparent !important;
}
.ceec-template-sections .ceec-sec-form .woocommerce-checkout-review-order-table tfoot .order-total th,
.ceec-template-sections .ceec-sec-form .woocommerce-checkout-review-order-table tfoot .order-total td {
    font-size:1rem !important; font-weight:800 !important; color:#111827 !important;
    border-top:2px solid #e5e7eb !important; padding-top:12px !important;
}

/* Payment section */
.ceec-template-sections .ceec-sec-form .woocommerce-checkout-payment {
    background: #fafbfc !important; border: 1.5px solid #e8eaed !important;
    border-radius: 12px !important; padding: 20px !important; margin-top: 0 !important;
}

/* Form fields */
.ceec-template-sections .ceec-sec-form .form-row { margin-bottom:13px !important; float:none !important; clear:none !important; }
.ceec-template-sections .ceec-sec-form .form-row label { display:block !important; font-size:.75rem !important; font-weight:600 !important; color:#4b5563 !important; margin-bottom:5px !important; }
.ceec-template-sections .ceec-sec-form .form-row input.input-text,
.ceec-template-sections .ceec-sec-form .form-row input[type="text"],
.ceec-template-sections .ceec-sec-form .form-row input[type="email"],
.ceec-template-sections .ceec-sec-form .form-row input[type="tel"],
.ceec-template-sections .ceec-sec-form .form-row input[type="number"],
.ceec-template-sections .ceec-sec-form .form-row select,
.ceec-template-sections .ceec-sec-form .form-row textarea {
    width:100% !important; height:42px !important; padding:0 11px !important;
    border:1.5px solid #dde1e7 !important; border-radius:8px !important;
    font-size:.87rem !important; color:#111827 !important; background:#fff !important;
    transition:border-color .15s, box-shadow .15s !important;
    box-shadow:none !important; outline:none !important;
    appearance:none !important; -webkit-appearance:none !important;
}
.ceec-template-sections .ceec-sec-form .form-row textarea { height:auto !important; min-height:76px !important; padding:9px 11px !important; resize:vertical !important; }
.ceec-template-sections .ceec-sec-form .form-row input:focus,
.ceec-template-sections .ceec-sec-form .form-row select:focus,
.ceec-template-sections .ceec-sec-form .form-row textarea:focus {
    border-color:#111827 !important; box-shadow:0 0 0 3px rgba(17,24,39,.06) !important;
}
.ceec-template-sections .ceec-sec-form .form-row-first { width:48% !important; float:left !important; clear:left !important; }
.ceec-template-sections .ceec-sec-form .form-row-last  { width:48% !important; float:right !important; clear:none !important; }
.ceec-template-sections .ceec-sec-form .form-row-wide  { width:100% !important; float:none !important; clear:both !important; }
.ceec-template-sections .ceec-sec-form #place_order,
.ceec-template-sections .ceec-sec-form .button.alt {
    background:#111827 !important; color:#fff !important; border:none !important;
    border-radius:8px !important; padding:15px 24px !important;
    font-size:.9rem !important; font-weight:700 !important; width:100% !important;
    cursor:pointer !important; text-transform:none !important;
    transition:background .15s !important; display:block !important;
}
.ceec-template-sections .ceec-sec-form #place_order:hover { background:#374151 !important; }
.ceec-template-sections .select2-container .select2-selection--single { height:42px !important; border:1.5px solid #dde1e7 !important; border-radius:8px !important; background:#fff !important; }
.ceec-template-sections .select2-container .select2-selection--single .select2-selection__rendered { line-height:40px !important; padding-left:11px !important; font-size:.87rem !important; }
.ceec-template-sections .select2-container .select2-selection--single .select2-selection__arrow { height:40px !important; }


/* =====================================================
   TEMPLATE: WARMTH
   Soft cream/neutral tones, large product cards right
   Inspired by image 8
   ===================================================== */

.ceec-template-warmth {
    background: #fdfcfb;
    border-radius: 18px;
    border: 1px solid #ece8e3;
    box-shadow: 0 4px 8px rgba(0,0,0,.04), 0 16px 36px rgba(0,0,0,.07);
    overflow: hidden;
}

.ceec-wm-body {
    display: grid;
    grid-template-columns: 1fr 360px;
}
@media (max-width: 860px) {
    .ceec-wm-body { grid-template-columns: 1fr; }
}

/* LEFT: form panel */
.ceec-wm-form-panel {
    padding: 32px;
    border-right: 1px solid #ece8e3;
    background: #fdfcfb;
}
.ceec-wm-form-header {
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 2px solid #f3ede8;
}
.ceec-wm-form-header h3 {
    margin: 0 0 4px 0 !important;
    font-size: 1.3rem !important;
    font-weight: 800 !important;
    color: #2c1810 !important;
    letter-spacing: -0.03em !important;
}
.ceec-wm-form-header p {
    margin: 0 !important;
    font-size: 0.82rem !important;
    color: #9c8880 !important;
}

/* RIGHT: summary panel */
.ceec-wm-summary-panel {
    background: #f5f0eb;
    padding: 28px 24px 32px;
    border-left: 1px solid #ece8e3;
}
.ceec-wm-summary__title {
    margin: 0 0 20px 0 !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    color: #9c8880 !important;
    text-transform: uppercase !important;
    letter-spacing: .09em !important;
}

/* Product cards */
.ceec-wm-product-cards {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 20px;
}
.ceec-wm-card {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    background: #ffffff;
    border: 1px solid #ece8e3;
    border-radius: 12px;
    padding: 14px;
}
.ceec-wm-card__img {
    width: 72px; height: 72px;
    border-radius: 8px; overflow: hidden;
    flex-shrink: 0;
    background: #ece8e3;
}
.ceec-wm-card__img img { width:72px !important; height:72px !important; object-fit:cover !important; display:block !important; }
.ceec-wm-card__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.ceec-wm-card__name {
    font-size: .85rem;
    font-weight: 600;
    color: #2c1810;
    line-height: 1.35;
    word-break: break-word;
}
.ceec-wm-card__meta {
    font-size: .72rem;
    color: #9c8880;
}
.ceec-wm-card__price {
    font-size: .9rem;
    font-weight: 700;
    color: #b45309;
    margin-top: 4px;
}
.ceec-wm-card__price .woocommerce-Price-amount { color: #b45309 !important; }

/* Breakdown */
.ceec-wm-breakdown {
    border-top: 1px solid #ece8e3;
    padding-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 9px;
}
.ceec-wm-breakdown__row {
    display: flex;
    justify-content: space-between;
    font-size: .8rem;
    color: #9c8880;
}
.ceec-wm-breakdown__row .woocommerce-Price-amount { color: #9c8880 !important; }
.ceec-wm-breakdown__total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 12px;
    border-top: 2px solid #e5ddd7;
    margin-top: 4px;
}
.ceec-wm-breakdown__total span { font-size:.85rem; font-weight:700; color:#57392c; }
.ceec-wm-breakdown__total strong { font-size:1.2rem; font-weight:800; color:#2c1810; }
.ceec-wm-breakdown__total strong .woocommerce-Price-amount { color:#2c1810 !important; }

/* Hide WC order review inside warmth form panel */
/* Hide only the order table heading + table — keep payment + place order visible */
.ceec-template-warmth .ceec-wm-form-panel #order_review_heading,
.ceec-template-warmth .ceec-wm-form-panel .woocommerce-checkout-review-order-table { display: none !important; }

/* Keep #order_review block visible so payment section renders */
.ceec-template-warmth .ceec-wm-form-panel #order_review,
.ceec-template-warmth .ceec-wm-form-panel .woocommerce-checkout-review-order {
    display: block !important;
    float: none !important;
    width: 100% !important;
    clear: both !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
}
.ceec-template-warmth .ceec-wm-form-panel .woocommerce-checkout-payment {
    display: block !important;
    background: #fdf8f4 !important;
    border: 1.5px solid #ece8e3 !important;
    border-radius: 12px !important;
    padding: 18px !important;
    margin-top: 22px !important;
}
.ceec-template-warmth .ceec-wm-form-panel .place-order {
    display: block !important;
    margin-top: 16px !important;
    padding: 0 !important;
}

/* Form fields */
.ceec-template-warmth .ceec-wm-form .form-row { margin-bottom:15px !important; float:none !important; clear:none !important; }
.ceec-template-warmth .ceec-wm-form .form-row label { display:block !important; font-size:.77rem !important; font-weight:600 !important; color:#57392c !important; margin-bottom:5px !important; }
.ceec-template-warmth .ceec-wm-form .form-row input.input-text,
.ceec-template-warmth .ceec-wm-form .form-row input[type="text"],
.ceec-template-warmth .ceec-wm-form .form-row input[type="email"],
.ceec-template-warmth .ceec-wm-form .form-row input[type="tel"],
.ceec-template-warmth .ceec-wm-form .form-row input[type="number"],
.ceec-template-warmth .ceec-wm-form .form-row select,
.ceec-template-warmth .ceec-wm-form .form-row textarea {
    width:100% !important; height:44px !important; padding:0 12px !important;
    border:1.5px solid #ddd6cf !important; border-radius:8px !important;
    font-size:.88rem !important; color:#2c1810 !important; background:#fff !important;
    transition:border-color .15s, box-shadow .15s !important;
    box-shadow:none !important; outline:none !important;
    appearance:none !important; -webkit-appearance:none !important;
}
.ceec-template-warmth .ceec-wm-form .form-row textarea { height:auto !important; min-height:80px !important; padding:10px 12px !important; resize:vertical !important; }
.ceec-template-warmth .ceec-wm-form .form-row input:focus,
.ceec-template-warmth .ceec-wm-form .form-row select:focus,
.ceec-template-warmth .ceec-wm-form .form-row textarea:focus {
    border-color:#b45309 !important; box-shadow:0 0 0 3px rgba(180,83,9,.1) !important;
}
.ceec-template-warmth .ceec-wm-form .form-row-first { width:48% !important; float:left !important; clear:left !important; }
.ceec-template-warmth .ceec-wm-form .form-row-last  { width:48% !important; float:right !important; clear:none !important; }
.ceec-template-warmth .ceec-wm-form .form-row-wide  { width:100% !important; float:none !important; clear:both !important; }
.ceec-template-warmth .ceec-wm-form .woocommerce-billing-fields h3,
.ceec-template-warmth .ceec-wm-form .woocommerce-shipping-fields h3 {
    font-size:.78rem !important; font-weight:700 !important; color:#9c8880 !important;
    text-transform:uppercase !important; letter-spacing:.08em !important;
    margin:0 0 14px 0 !important; padding:0 0 10px 0 !important;
    border-bottom:2px solid #f3ede8 !important;
}
.ceec-template-warmth .ceec-wm-form .woocommerce-billing-fields,
.ceec-template-warmth .ceec-wm-form .woocommerce-shipping-fields,
.ceec-template-warmth .ceec-wm-form .woocommerce-additional-fields {
    float:none !important; width:100% !important; clear:both !important; margin-bottom:22px !important;
}
.ceec-template-warmth .ceec-wm-form .woocommerce-billing-fields::after,
.ceec-template-warmth .ceec-wm-form .woocommerce-shipping-fields::after,
.ceec-template-warmth .ceec-wm-form::after { content:"" !important; display:table !important; clear:both !important; }
.ceec-template-warmth .ceec-wm-form #place_order,
.ceec-template-warmth .ceec-wm-form .button.alt {
    background:#2c1810 !important; color:#fdf8f4 !important; border:none !important;
    border-radius:8px !important; padding:15px 24px !important;
    font-size:.92rem !important; font-weight:700 !important; width:100% !important;
    cursor:pointer !important; text-transform:none !important; letter-spacing:.01em !important;
    transition:background .15s !important; display:block !important;
}
.ceec-template-warmth .ceec-wm-form #place_order:hover { background:#451f10 !important; }
.ceec-template-warmth .select2-container .select2-selection--single { height:44px !important; border:1.5px solid #ddd6cf !important; border-radius:8px !important; background:#fff !important; }
.ceec-template-warmth .select2-container .select2-selection--single .select2-selection__rendered { line-height:42px !important; padding-left:12px !important; font-size:.88rem !important; }
.ceec-template-warmth .select2-container .select2-selection--single .select2-selection__arrow { height:42px !important; }

/* ---- Responsive: mobile column stack for all new templates ---- */
@media (max-width: 560px) {
    .ceec-template-storefront .ceec-sf-form .form-row-first,
    .ceec-template-storefront .ceec-sf-form .form-row-last,
    .ceec-template-darkside .ceec-ds-form .form-row-first,
    .ceec-template-darkside .ceec-ds-form .form-row-last,
    .ceec-template-sections .ceec-sec-form .form-row-first,
    .ceec-template-sections .ceec-sec-form .form-row-last,
    .ceec-template-warmth .ceec-wm-form .form-row-first,
    .ceec-template-warmth .ceec-wm-form .form-row-last {
        width: 100% !important; float: none !important; clear: both !important;
    }
}


/* =========================================================
   HIDE WC ORDER REVIEW TABLE — all two-panel templates
   The custom summary panels replace the WC table.
   These rules are intentionally broad to catch cases where
   #order_review renders outside the expected wrapper.
   ========================================================= */

/* Hide ONLY the order review TABLE and heading — NOT the whole #order_review block.
   WooCommerce puts payment methods + place order inside #order_review, so hiding
   the whole block removes the checkout button. We hide only the table rows. */

.ceec-template-warmth     #order_review_heading,
.ceec-template-warmth     .woocommerce-checkout-review-order-table,
.ceec-template-storefront #order_review_heading,
.ceec-template-storefront .woocommerce-checkout-review-order-table,
.ceec-template-darkside   #order_review_heading,
.ceec-template-darkside   .woocommerce-checkout-review-order-table {
    display: none !important;
}

/* Keep #order_review and payment section fully visible */
.ceec-template-warmth     #order_review,
.ceec-template-warmth     .woocommerce-checkout-review-order,
.ceec-template-storefront #order_review,
.ceec-template-storefront .woocommerce-checkout-review-order,
.ceec-template-darkside   #order_review,
.ceec-template-darkside   .woocommerce-checkout-review-order {
    display: block !important;
    float: none !important;
    width: 100% !important;
    clear: both !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
}

/* Payment + place order always visible in all two-panel templates */
.ceec-template-warmth     .woocommerce-checkout-payment,
.ceec-template-storefront .woocommerce-checkout-payment,
.ceec-template-darkside   .woocommerce-checkout-payment {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.ceec-template-warmth     .place-order,
.ceec-template-storefront .place-order,
.ceec-template-darkside   .place-order {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-top: 16px !important;
    padding: 0 !important;
    float: none !important;
    width: 100% !important;
}

.ceec-template-warmth     .place-order #place_order,
.ceec-template-storefront .place-order #place_order,
.ceec-template-darkside   .place-order #place_order {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
}


/* =========================================================
   PLACE ORDER BUTTON — Nuclear override
   Prevents ANY theme (Astra, Woodmart, Neve, etc.) from
   applying their own colors to our checkout button.
   ========================================================= */

/* Modern */
.ceec-template-modern #place_order { background: #3b82f6 !important; background-image: linear-gradient(180deg,#3b82f6,#1d4ed8) !important; color: #fff !important; border: none !important; border-radius: 12px !important; padding: 16px 32px !important; font-size: 1rem !important; font-weight: 700 !important; width: 100% !important; cursor: pointer !important; display: block !important; text-transform: none !important; letter-spacing: .01em !important; box-shadow: 0 4px 14px rgba(59,130,246,.4) !important; }
.ceec-template-modern #place_order:hover { background-image: linear-gradient(180deg,#2563eb,#1e40af) !important; }

/* Minimal */
.ceec-template-minimal #place_order { background: #111827 !important; background-image: none !important; color: #fff !important; border: none !important; border-radius: 4px !important; padding: 16px 32px !important; font-size: .9rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: .05em !important; width: 100% !important; cursor: pointer !important; display: block !important; box-shadow: none !important; }
.ceec-template-minimal #place_order:hover { background: #374151 !important; }

/* Compact */
.ceec-template-compact #place_order { background: #2563eb !important; background-image: none !important; color: #fff !important; border: none !important; border-radius: 8px !important; padding: 13px 24px !important; font-size: .88rem !important; font-weight: 700 !important; width: 100% !important; cursor: pointer !important; display: block !important; text-transform: none !important; box-shadow: none !important; }
.ceec-template-compact #place_order:hover { background: #1d4ed8 !important; }

/* Split */
.ceec-template-split #place_order { background: #0f172a !important; background-image: none !important; color: #fff !important; border: none !important; border-radius: 10px !important; padding: 15px 28px !important; font-size: .92rem !important; font-weight: 700 !important; width: 100% !important; cursor: pointer !important; display: block !important; text-transform: none !important; box-shadow: 0 4px 12px rgba(0,0,0,.25) !important; }
.ceec-template-split #place_order:hover { opacity: .88 !important; }

/* Vibrant */
.ceec-template-vibrant #place_order { background: #7c3aed !important; background-image: linear-gradient(135deg,#7c3aed,#2563eb) !important; color: #fff !important; border: none !important; border-radius: 14px !important; padding: 18px 32px !important; font-size: 1rem !important; font-weight: 800 !important; width: 100% !important; cursor: pointer !important; display: block !important; text-transform: none !important; box-shadow: 0 4px 20px rgba(124,58,237,.5) !important; }
.ceec-template-vibrant #place_order:hover { opacity: .9 !important; transform: translateY(-2px) !important; }

/* Storefront */
.ceec-template-storefront #place_order { background: #111827 !important; background-image: none !important; color: #fff !important; border: none !important; border-radius: 8px !important; padding: 15px 24px !important; font-size: .92rem !important; font-weight: 700 !important; width: 100% !important; cursor: pointer !important; display: block !important; text-transform: none !important; box-shadow: none !important; }
.ceec-template-storefront #place_order:hover { background: #374151 !important; }

/* Darkside */
.ceec-template-darkside #place_order { background: #4f46e5 !important; background-image: linear-gradient(135deg,#4f46e5,#7c3aed) !important; color: #fff !important; border: none !important; border-radius: 10px !important; padding: 16px 24px !important; font-size: .92rem !important; font-weight: 700 !important; width: 100% !important; cursor: pointer !important; display: block !important; text-transform: none !important; box-shadow: 0 4px 14px rgba(99,102,241,.4) !important; }
.ceec-template-darkside #place_order:hover { opacity: .9 !important; transform: translateY(-1px) !important; }

/* Sections */
.ceec-template-sections #place_order { background: #111827 !important; background-image: none !important; color: #fff !important; border: none !important; border-radius: 8px !important; padding: 15px 24px !important; font-size: .9rem !important; font-weight: 700 !important; width: 100% !important; cursor: pointer !important; display: block !important; text-transform: none !important; box-shadow: none !important; }
.ceec-template-sections #place_order:hover { background: #374151 !important; }

/* Warmth */
.ceec-template-warmth #place_order { background: #2c1810 !important; background-image: none !important; color: #fdf8f4 !important; border: none !important; border-radius: 8px !important; padding: 15px 24px !important; font-size: .92rem !important; font-weight: 700 !important; width: 100% !important; cursor: pointer !important; display: block !important; text-transform: none !important; box-shadow: none !important; }
.ceec-template-warmth #place_order:hover { background: #451f10 !important; }

/* =========================================================
   PLACE ORDER — ensure .place-order wrapper never hides it
   ========================================================= */
.ceec-template .place-order {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-top: 20px !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
}

/* =========================================================
   WC ERROR / SESSION NOTICES inside templates
   Replace theme-styled WC error notices with clean versions
   so "session expired" and other WC notices look consistent
   ========================================================= */
.ceec-template .woocommerce-error,
.ceec-template .woocommerce-message,
.ceec-template .woocommerce-info {
    background: #fef9f0 !important;
    border: 1px solid #fcd34d !important;
    border-left: 4px solid #f59e0b !important;
    color: #78350f !important;
    border-radius: 8px !important;
    font-size: .85rem !important;
    margin-bottom: 16px !important;
    list-style: none !important;
    box-shadow: none !important;
}
.ceec-template .woocommerce-error {
    background: #fef2f2 !important;
    border-color: #fca5a5 !important;
    border-left-color: #ef4444 !important;
    color: #7f1d1d !important;
}
.ceec-template .woocommerce-NoticeGroup {
    margin-bottom: 16px !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
}

/* =========================================================
   EMPTY CART STATE in default (non-custom) template
   When checkout section shows but cart is empty
   ========================================================= */
.coderembassy-checkout-section .coderembassy-empty-cart,
.coderembassy-pro-template-modern .coderembassy-empty-cart,
.coderembassy-pro-template-minimal .coderembassy-empty-cart,
.coderembassy-pro-template-compact .coderembassy-empty-cart {
    text-align: center !important;
    padding: 32px 24px !important;
    color: #64748b !important;
    font-style: normal !important;
    background: #f8fafc !important;
    border: 1px dashed #cbd5e1 !important;
    border-radius: 10px !important;
    font-size: .9rem !important;
}



/* =========================================================
   EMPTY CART STATE — Panel templates (split, storefront,
   darkside, warmth) form panel empty message styling
   ========================================================= */

/* Split form panel empty state */
.ceec-template-split .ceec-split-panel--form .ceec-empty-cart,
.ceec-template-split .ceec-split-panel--form .ceec-inline-empty {
    text-align: center !important;
    padding: 48px 24px !important;
    color: #64748b !important;
    font-size: .9rem !important;
    font-style: normal !important;
}

/* Storefront form panel empty state */
.ceec-template-storefront .ceec-sf-form-col .ceec-empty-cart,
.ceec-template-storefront .ceec-sf-form-col .ceec-inline-empty {
    text-align: center !important;
    padding: 48px 24px !important;
    color: #6b7280 !important;
    font-size: .9rem !important;
    background: #f8f9fb !important;
    border: 1px dashed #e2e8f0 !important;
    border-radius: 10px !important;
}

/* Darkside form panel empty state */
.ceec-template-darkside .ceec-ds-form-panel .ceec-empty-cart,
.ceec-template-darkside .ceec-ds-form-panel .ceec-inline-empty {
    text-align: center !important;
    padding: 48px 24px !important;
    color: #64748b !important;
    font-size: .9rem !important;
}

/* Warmth form panel empty state */
.ceec-template-warmth .ceec-wm-form-panel .ceec-empty-cart,
.ceec-template-warmth .ceec-wm-form-panel .ceec-inline-empty {
    text-align: center !important;
    padding: 48px 24px !important;
    color: #9c8880 !important;
    font-size: .9rem !important;
    background: #fdf8f4 !important;
    border: 1px dashed #ddd6cf !important;
    border-radius: 10px !important;
}

/* Suppress any WC error/notice output that leaks into panel templates */
.ceec-template-split .ceec-split-panel--form .woocommerce-error,
.ceec-template-split .ceec-split-panel--form .woocommerce-message,
.ceec-template-split .ceec-split-panel--form .woocommerce-info,
.ceec-template-split .ceec-split-panel--form .woocommerce-form-coupon-toggle,
.ceec-template-storefront .ceec-sf-form-col .woocommerce-error,
.ceec-template-storefront .ceec-sf-form-col .woocommerce-message,
.ceec-template-storefront .ceec-sf-form-col .woocommerce-info,
.ceec-template-storefront .ceec-sf-form-col .woocommerce-form-coupon-toggle,
.ceec-template-darkside .ceec-ds-form-panel .woocommerce-error,
.ceec-template-darkside .ceec-ds-form-panel .woocommerce-message,
.ceec-template-darkside .ceec-ds-form-panel .woocommerce-info,
.ceec-template-darkside .ceec-ds-form-panel .woocommerce-form-coupon-toggle,
.ceec-template-warmth .ceec-wm-form-panel .woocommerce-error,
.ceec-template-warmth .ceec-wm-form-panel .woocommerce-message,
.ceec-template-warmth .ceec-wm-form-panel .woocommerce-info,
.ceec-template-warmth .ceec-wm-form-panel .woocommerce-form-coupon-toggle {
    display: none !important;
}

/* Also hide from the template root level (outside any panel) */
.ceec-template-split     > .woocommerce-error,
.ceec-template-split     > .woocommerce-info,
.ceec-template-storefront > .woocommerce-error,
.ceec-template-storefront > .woocommerce-info,
.ceec-template-darkside  > .woocommerce-error,
.ceec-template-darkside  > .woocommerce-info,
.ceec-template-warmth    > .woocommerce-error,
.ceec-template-warmth    > .woocommerce-info {
    display: none !important;
}



/* =========================================================
   EMPTY CART STATE — Panel templates (split, storefront,
   darkside, warmth) form panel empty message styling
   ========================================================= */

/* Split form panel empty state */
.ceec-template-split .ceec-split-panel--form .ceec-empty-cart,
.ceec-template-split .ceec-split-panel--form .ceec-inline-empty {
    text-align: center !important;
    padding: 48px 24px !important;
    color: #64748b !important;
    font-size: .9rem !important;
    font-style: normal !important;
}

/* Storefront form panel empty state */
.ceec-template-storefront .ceec-sf-form-col .ceec-empty-cart,
.ceec-template-storefront .ceec-sf-form-col .ceec-inline-empty {
    text-align: center !important;
    padding: 48px 24px !important;
    color: #6b7280 !important;
    font-size: .9rem !important;
    background: #f8f9fb !important;
    border: 1px dashed #e2e8f0 !important;
    border-radius: 10px !important;
}

/* Darkside form panel empty state */
.ceec-template-darkside .ceec-ds-form-panel .ceec-empty-cart,
.ceec-template-darkside .ceec-ds-form-panel .ceec-inline-empty {
    text-align: center !important;
    padding: 48px 24px !important;
    color: #64748b !important;
    font-size: .9rem !important;
}

/* Warmth form panel empty state */
.ceec-template-warmth .ceec-wm-form-panel .ceec-empty-cart,
.ceec-template-warmth .ceec-wm-form-panel .ceec-inline-empty {
    text-align: center !important;
    padding: 48px 24px !important;
    color: #9c8880 !important;
    font-size: .9rem !important;
    background: #fdf8f4 !important;
    border: 1px dashed #ddd6cf !important;
    border-radius: 10px !important;
}

/* Suppress any WC error/notice output that leaks into panel templates */
.ceec-template-split .ceec-split-panel--form .woocommerce-error,
.ceec-template-split .ceec-split-panel--form .woocommerce-message,
.ceec-template-split .ceec-split-panel--form .woocommerce-info,
.ceec-template-split .ceec-split-panel--form .woocommerce-form-coupon-toggle,
.ceec-template-storefront .ceec-sf-form-col .woocommerce-error,
.ceec-template-storefront .ceec-sf-form-col .woocommerce-message,
.ceec-template-storefront .ceec-sf-form-col .woocommerce-info,
.ceec-template-storefront .ceec-sf-form-col .woocommerce-form-coupon-toggle,
.ceec-template-darkside .ceec-ds-form-panel .woocommerce-error,
.ceec-template-darkside .ceec-ds-form-panel .woocommerce-message,
.ceec-template-darkside .ceec-ds-form-panel .woocommerce-info,
.ceec-template-darkside .ceec-ds-form-panel .woocommerce-form-coupon-toggle,
.ceec-template-warmth .ceec-wm-form-panel .woocommerce-error,
.ceec-template-warmth .ceec-wm-form-panel .woocommerce-message,
.ceec-template-warmth .ceec-wm-form-panel .woocommerce-info,
.ceec-template-warmth .ceec-wm-form-panel .woocommerce-form-coupon-toggle {
    display: none !important;
}

/* Also hide from the template root level (outside any panel) */
.ceec-template-split     > .woocommerce-error,
.ceec-template-split     > .woocommerce-info,
.ceec-template-storefront > .woocommerce-error,
.ceec-template-storefront > .woocommerce-info,
.ceec-template-darkside  > .woocommerce-error,
.ceec-template-darkside  > .woocommerce-info,
.ceec-template-warmth    > .woocommerce-error,
.ceec-template-warmth    > .woocommerce-info {
    display: none !important;
}




/* =====================================================================
   PAYMENT UNDER SUMMARY
   All side-by-side templates (split, storefront, darkside, warmth).
   The <form> now wraps both panels; #order_review is rendered inside
   the summary/cart panel so payment appears below the order items.
   ===================================================================== */

/* Wrapper spacing & separator */
.ceec-template-split      .ceec-payment-under-summary,
.ceec-template-darkside   .ceec-payment-under-summary {
    margin-top: 20px !important;
    padding-top: 18px !important;
    border-top: 1px solid rgba(255,255,255,0.12) !important;
}
.ceec-template-storefront .ceec-payment-under-summary,
.ceec-template-warmth     .ceec-payment-under-summary {
    margin-top: 20px !important;
    padding-top: 18px !important;
    border-top: 1px solid #e5e7eb !important;
}

/* #order_review container — force full visibility */
.ceec-template-split      .ceec-payment-under-summary #order_review,
.ceec-template-storefront .ceec-payment-under-summary #order_review,
.ceec-template-darkside   .ceec-payment-under-summary #order_review,
.ceec-template-warmth     .ceec-payment-under-summary #order_review {
    display: block !important;
    float: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
}

/* Hide WC order items table — we show our own custom cart list above */
.ceec-template-split      .ceec-payment-under-summary .woocommerce-checkout-review-order-table,
.ceec-template-storefront .ceec-payment-under-summary .woocommerce-checkout-review-order-table,
.ceec-template-darkside   .ceec-payment-under-summary .woocommerce-checkout-review-order-table,
.ceec-template-warmth     .ceec-payment-under-summary .woocommerce-checkout-review-order-table {
    display: none !important;
}

/* Payment block — force visible */
.ceec-template-split      .ceec-payment-under-summary .woocommerce-checkout-payment,
.ceec-template-storefront .ceec-payment-under-summary .woocommerce-checkout-payment,
.ceec-template-darkside   .ceec-payment-under-summary .woocommerce-checkout-payment,
.ceec-template-warmth     .ceec-payment-under-summary .woocommerce-checkout-payment {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    border-radius: 12px !important;
    padding: 16px !important;
    margin: 0 !important;
}

/* place-order section */
.ceec-template-split      .ceec-payment-under-summary .place-order,
.ceec-template-storefront .ceec-payment-under-summary .place-order,
.ceec-template-darkside   .ceec-payment-under-summary .place-order,
.ceec-template-warmth     .ceec-payment-under-summary .place-order {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    padding: 14px 0 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

/* Payment radio inputs */
.ceec-template-split      .ceec-payment-under-summary .woocommerce-checkout-payment input[type="radio"],
.ceec-template-storefront .ceec-payment-under-summary .woocommerce-checkout-payment input[type="radio"],
.ceec-template-darkside   .ceec-payment-under-summary .woocommerce-checkout-payment input[type="radio"],
.ceec-template-warmth     .ceec-payment-under-summary .woocommerce-checkout-payment input[type="radio"] {
    display: inline-block !important;
    visibility: visible !important;
    width: auto !important;
    margin-right: 6px !important;
}

/* ---- SPLIT — dark summary panel ---- */
.ceec-template-split .ceec-payment-under-summary .woocommerce-checkout-payment {
    background: rgba(255,255,255,0.07) !important;
    border: 1px solid rgba(255,255,255,0.13) !important;
}
.ceec-template-split .ceec-payment-under-summary .woocommerce-checkout-payment ul.payment_methods {
    background: transparent !important;
    border-bottom: 1px solid rgba(255,255,255,0.1) !important;
    padding: 0 0 12px !important;
    margin: 0 0 12px !important;
}
.ceec-template-split .ceec-payment-under-summary .woocommerce-checkout-payment ul.payment_methods li {
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 8px !important;
    margin-bottom: 6px !important;
    padding: 10px 12px !important;
}
.ceec-template-split .ceec-payment-under-summary .woocommerce-checkout-payment ul.payment_methods li label,
.ceec-template-split .ceec-payment-under-summary .woocommerce-checkout-payment .payment_box,
.ceec-template-split .ceec-payment-under-summary .woocommerce-checkout-payment .payment_box p {
    color: rgba(255,255,255,0.80) !important;
    font-size: 0.85rem !important;
}

/* ---- DARKSIDE — dark cart panel ---- */
.ceec-template-darkside .ceec-payment-under-summary .woocommerce-checkout-payment {
    background: rgba(255,255,255,0.06) !important;
    border: 1px solid rgba(255,255,255,0.11) !important;
}
.ceec-template-darkside .ceec-payment-under-summary .woocommerce-checkout-payment ul.payment_methods {
    background: transparent !important;
    border-bottom: 1px solid rgba(255,255,255,0.1) !important;
    padding: 0 0 12px !important;
    margin: 0 0 12px !important;
}
.ceec-template-darkside .ceec-payment-under-summary .woocommerce-checkout-payment ul.payment_methods li {
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 8px !important;
    margin-bottom: 6px !important;
    padding: 10px 12px !important;
}
.ceec-template-darkside .ceec-payment-under-summary .woocommerce-checkout-payment ul.payment_methods li label,
.ceec-template-darkside .ceec-payment-under-summary .woocommerce-checkout-payment .payment_box,
.ceec-template-darkside .ceec-payment-under-summary .woocommerce-checkout-payment .payment_box p {
    color: rgba(255,255,255,0.78) !important;
    font-size: 0.85rem !important;
}

/* ---- STOREFRONT — light summary panel ---- */
.ceec-template-storefront .ceec-payment-under-summary .woocommerce-checkout-payment {
    background: #f0f4f8 !important;
    border: 1.5px solid #dce3ea !important;
}
.ceec-template-storefront .ceec-payment-under-summary .woocommerce-checkout-payment ul.payment_methods li {
    background: #fff !important;
    border: 1px solid #e2e6ea !important;
    border-radius: 8px !important;
    margin-bottom: 6px !important;
    padding: 10px 12px !important;
}

/* ---- WARMTH — warm light summary panel ---- */
.ceec-template-warmth .ceec-payment-under-summary .woocommerce-checkout-payment {
    background: #fdf0e6 !important;
    border: 1.5px solid #e8ddd5 !important;
}
.ceec-template-warmth .ceec-payment-under-summary .woocommerce-checkout-payment ul.payment_methods li {
    background: #fdf8f4 !important;
    border: 1px solid #ddd5cc !important;
    border-radius: 8px !important;
    margin-bottom: 6px !important;
    padding: 10px 12px !important;
}
.ceec-template-warmth .ceec-payment-under-summary .woocommerce-checkout-payment ul.payment_methods li label,
.ceec-template-warmth .ceec-payment-under-summary .woocommerce-checkout-payment .payment_box p {
    color: #5a4035 !important;
}

/* ----------------------------------------------------------------
   FORM AS GRID/BLOCK CONTAINER
   display:contents on <form> is unreliable across browsers.
   Storefront + Warmth have inner wrapper divs that own the grid —
   those forms just need to be plain block elements.
   Split + Darkside have the two panels as DIRECT children of the
   form, so the form itself must declare the grid.
   ---------------------------------------------------------------- */

/* Storefront: ceec-sf-body inside the form owns the grid */
.ceec-sf-checkout-form {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Warmth: ceec-wm-body inside the form owns the flex/grid */
.ceec-wm-checkout-form {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Split: form IS the grid — must span both columns of the outer .ceec-template-split grid */
.ceec-split-checkout-form {
    /* Span both columns of the outer .ceec-template-split grid so the form is full-width */
    grid-column: 1 / -1 !important;
    /* Then the form itself becomes the two-column grid */
    display: grid !important;
    grid-template-columns: 340px 1fr !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 40px rgba(0,0,0,.14), 0 2px 8px rgba(0,0,0,.06) !important;
    min-height: 500px !important;
    border: 1px solid #1e293b !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* coder payment box */
.woocommerce-page.woocommerce-checkout .ceec-template-split #payment div.payment_box, .woocommerce-page.woocommerce-checkout .ceec-template-darkside #payment div.payment_box, .woocommerce-page.woocommerce-checkout .ceec-vibrant-form #payment div.payment_box {
    background-color: #121b2d;
}

.woocommerce-page.woocommerce-checkout .ceec-template-split #payment div.payment_box::before, .woocommerce-page.woocommerce-checkout .ceec-template-darkside #payment div.payment_box::before {
    border-bottom-color: #141d30;
}
.woocommerce-page.woocommerce-checkout .ceec-modern-form #payment div.payment_box:before, .woocommerce-page.woocommerce-checkout .ceec-compact-form #payment div.payment_box:before, .woocommerce-page.woocommerce-checkout .ceec-minimal-form #payment div.payment_box:before{
    border-bottom-color: #ffffff;
}
.woocommerce-page.woocommerce-checkout #payment div.payment_box::before {    
    top: -10px;
}
.woocommerce-page.woocommerce-checkout .ceec-vibrant-form #payment div.payment_box::before {
    border-bottom-color: #38364f;
}
.woocommerce-page.woocommerce-checkout .ceec-template-split #payment p, .woocommerce-page.woocommerce-checkout .ceec-template-darkside #payment p, .woocommerce-page.woocommerce-checkout .ceec-vibrant-form #payment p {
    color: #fff;
}
.ceec-template-split .ceec-trust-badge, .ceec-template-darkside .ceec-trust-badge, .ceec-vibrant-form .ceec-trust-badge {
    color: #e1e8f2;
}
.ceec-template-split ul#shipping_method li label, .ceec-template-darkside ul#shipping_method li label, .ceec-vibrant-form ul#shipping_method li label {
    color: #fff!important;
}
.ceec-template * {
    border: none!important;
}
/* coder payment box End */


@media (max-width: 768px) {
    .ceec-split-checkout-form { grid-template-columns: 1fr !important; }
}

/* Darkside: form IS the grid — must span both columns of the outer .ceec-template-darkside grid */
.ceec-ds-checkout-form {
    /* Span both columns of the outer .ceec-template-darkside grid so the form is full-width */
    grid-column: 1 / -1 !important;
    /* Then the form itself becomes the two-column grid */
    display: grid !important;
    grid-template-columns: 1fr 380px !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    box-shadow: 0 6px 32px rgba(0,0,0,.12), 0 2px 6px rgba(0,0,0,.06) !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

@media (max-width: 860px) {
    .ceec-ds-checkout-form { grid-template-columns: 1fr !important; }
}

/* ==========================================================
   PRO DISPLAY SETTINGS — Hide Thumbnail
   ========================================================== */
.ceec-hide-thumbnail .coderembassy-product-image {
    display: none !important;
}
/* Compensate body padding when thumb is hidden in list mode */
.ceec-layout-list.ceec-hide-thumbnail .coderembassy-product-variations {
    padding-left: 0 !important;
}

/* ==========================================================
   PRO DISPLAY SETTINGS — Hide Quantity Controls
   ========================================================== */
.ceec-hide-qty .coderembassy-product-quantity {
    display: none !important;
}

/* ==========================================================
   PRO DISPLAY SETTINGS — Variation Style: Chips
   ========================================================== */

/* Hide the actual radio input; style the <span> as a pill chip */
.ceec-variation-chips .coderembassy-variation-option.ceec-chip,
.ceec-variation-chips-wrap .coderembassy-variation-option.ceec-chip {
    cursor: pointer;
    display: inline-flex !important;
    align-items: center;
}

.ceec-variation-chips .coderembassy-variation-option.ceec-chip input[type="radio"],
.ceec-variation-chips-wrap .coderembassy-variation-option.ceec-chip input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    pointer-events: none !important;
}

.ceec-variation-chips .coderembassy-variation-option.ceec-chip span,
.ceec-variation-chips-wrap .coderembassy-variation-option.ceec-chip span {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 4px 13px !important;
    border: 1.5px solid #d1d5db !important;
    border-radius: 100px !important;
    font-size: 0.775rem !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: background 0.14s ease, border-color 0.14s ease, color 0.14s ease !important;
    background: #fff !important;
    color: #374151 !important;
    line-height: 1.4 !important;
    user-select: none !important;
}

.ceec-variation-chips .coderembassy-variation-option.ceec-chip:hover span,
.ceec-variation-chips-wrap .coderembassy-variation-option.ceec-chip:hover span {
    border-color: #6b7280 !important;
    background: #f9fafb !important;
}

.ceec-variation-chips .coderembassy-variation-option.ceec-chip input[type="radio"]:checked + span,
.ceec-variation-chips-wrap .coderembassy-variation-option.ceec-chip input[type="radio"]:checked + span {
    background: #111827 !important;
    border-color: #111827 !important;
    color: #fff !important;
}

/* Chips container: horizontal wrap */
.ceec-variation-chips .coderembassy-variation-options.ceec-chips,
.ceec-variation-chips-wrap .coderembassy-variation-options.ceec-chips {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin-top: 4px !important;
}

/* Label above chips */
.ceec-variation-chips-wrap .coderembassy-variation-label,
.ceec-variation-chips .coderembassy-variation-label {
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #6b7280 !important;
    margin-bottom: 5px !important;
    display: block !important;
}

/* ==========================================================
   PRO DISPLAY SETTINGS — Variation Style: Dropdown
   ========================================================== */
.ceec-variation-dropdown-wrap .coderembassy-variation-group {
    margin-bottom: 10px !important;
}

.ceec-variation-dropdown-wrap .coderembassy-variation-label {
    display: block !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #6b7280 !important;
    margin-bottom: 5px !important;
}

.ceec-variation-select {
    display: block !important;
    width: 100% !important;
    height: 34px !important;
    padding: 0 10px !important;
    border: 1.5px solid #d1d5db !important;
    border-radius: 7px !important;
    font-size: 0.82rem !important;
    font-weight: 500 !important;
    color: #374151 !important;
    background: #fff !important;
    cursor: pointer !important;
    appearance: auto !important;
    -webkit-appearance: auto !important;
    transition: border-color 0.14s ease, box-shadow 0.14s ease !important;
    box-shadow: none !important;
}

.ceec-variation-select:focus {
    outline: none !important;
    border-color: #6366f1 !important;
    box-shadow: 0 0 0 3px rgba(99,102,241,0.12) !important;
}

/* Apply dropdown container class from outer element too */
.ceec-variation-dropdown .coderembassy-product-variations {
    /* cascade from outer class */
}

