/* TBWC Summary Page - pixel-based, no rem, no resets */

.tbwc-summary-page { direction: rtl !important; max-width: 960px !important; margin: 0 auto !important; padding: 0 6px 16px !important; }

/* Heading */
.tbwc-summary-page h2 { font-size: 25px !important; font-weight: 700 !important; color: #1e293b !important; margin: 20px 0 16px !important; padding: 0 !important; border: none !important; background: none !important; line-height: 1.3 !important; text-transform: none !important; letter-spacing: normal !important; display: flex !important; align-items: center !important; gap: 8px !important; }

/* Content stack */
.tbwc-summary-content { display: flex !important; flex-direction: column !important; gap: 10px !important; }
.tbwc-summary-section { display: flex !important; flex-direction: column !important; gap: 10px !important; }

/* Tables */
.tbwc-summary-page .tbwc-summary-table { width: 100% !important; border-collapse: collapse !important; border-spacing: 0 !important; background: #fff !important; border: 1px solid #e2e8f0 !important; border-radius: 8px !important; margin: 0 !important; }
.tbwc-summary-page .tbwc-summary-table thead th { background: #f1f5f9 !important; padding: 3px 8px !important; text-align: right !important; font-size: 19px !important; font-weight: 700 !important; color: #334155 !important; border-bottom: 1px solid #e2e8f0 !important; border-top: none !important; border-left: none !important; border-right: none !important; text-transform: none !important; letter-spacing: normal !important; }
.tbwc-summary-page .tbwc-summary-table tbody td { padding: 2px 8px !important; border-bottom: 1px solid #f1f5f9 !important; border-top: none !important; border-left: none !important; border-right: none !important; font-size: 19px !important; color: #374151 !important; vertical-align: middle !important; background: transparent !important; line-height: 1.4 !important; }
.tbwc-summary-page .tbwc-summary-table tbody tr:last-child td { border-bottom: none !important; }
.tbwc-summary-page .tbwc-summary-table tbody td:first-child { font-weight: 600 !important; color: #64748b !important; white-space: nowrap !important; width: 36% !important; }

/* Pricing grid inside td */
.tbwc-summary-page .tbwc-pricing-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 8px !important; }
.tbwc-summary-page .tbwc-pricing-column { display: flex !important; flex-direction: column !important; gap: 0 !important; }
.tbwc-summary-page .tbwc-pricing-item { margin-bottom: 5px !important; }
.tbwc-summary-page .tbwc-pricing-item strong { display: block !important; font-size: 15px !important; color: #64748b !important; font-weight: 600 !important; margin-bottom: 1px !important; }
.tbwc-summary-page .tbwc-pricing-item span { font-size: 19px !important; font-weight: 600 !important; color: #1e293b !important; }

/* Total price box */
.tbwc-summary-page .tbwc-total-price { margin-top: 8px !important; padding: 6px !important; background: #f0f8ff !important; border-radius: 8px !important; text-align: center !important; border: 2px solid #667eea !important; }

/* Discount section */
.tbwc-summary-page .tbwc-discount-section { margin-top: 8px !important; padding: 8px !important; background: #fff5f7 !important; border: 2px solid #ec4899 !important; border-radius: 8px !important; }

/* Comment */
.tbwc-summary-page .tbwc-comment-text { white-space: pre-wrap !important; font-size: 19px !important; color: #374151 !important; }
.tbwc-summary-page .tbwc-no-comment { color: #94a3b8 !important; font-style: italic !important; font-size: 19px !important; }

/* Actions bar */
.tbwc-summary-page .tbwc-summary-actions { display: flex !important; gap: 8px !important; flex-wrap: wrap !important; align-items: stretch !important; margin-top: 4px !important; padding: 8px !important; background: #f8fafc !important; border-radius: 10px !important; border: 1px solid #e2e8f0 !important; }

/* Button base */
.tbwc-summary-page .tbwc-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 7px !important; padding: 6px 14px !important; border-radius: 8px !important; font-size: 19px !important; font-weight: 700 !important; cursor: pointer !important; text-decoration: none !important; line-height: 1 !important; white-space: nowrap !important; flex: 1 1 auto !important; min-width: 140px !important; text-align: center !important; letter-spacing: normal !important; text-transform: none !important; height: auto !important; appearance: none !important; -webkit-appearance: none !important; transition: filter 0.15s ease, box-shadow 0.15s ease !important; }
.tbwc-summary-page .tbwc-btn:active { opacity: 0.9 !important; }
.tbwc-summary-page .tbwc-btn-icon { font-size: 19px !important; line-height: 1 !important; flex-shrink: 0 !important; }
.tbwc-summary-page .tbwc-btn-label { display: inline !important; }

/* Primary - green */
.tbwc-summary-page .tbwc-btn-primary { background: #16a34a !important; color: #fff !important; border: none !important; box-shadow: 0 3px 10px rgba(22,163,74,0.35) !important; flex: 2 1 auto !important; font-size: 19px !important; padding: 8px 18px !important; }
.tbwc-summary-page .tbwc-btn-primary:hover { background: #15803d !important; color: #fff !important; text-decoration: none !important; box-shadow: 0 4px 14px rgba(22,163,74,0.45) !important; }
.tbwc-summary-page .tbwc-btn-primary:focus { color: #fff !important; text-decoration: none !important; }

/* Secondary - blue outline */
.tbwc-summary-page .tbwc-btn-secondary { background: #fff !important; color: #1d4ed8 !important; border: 2px solid #93c5fd !important; box-shadow: none !important; }
.tbwc-summary-page .tbwc-btn-secondary:hover { background: #eff6ff !important; color: #1d4ed8 !important; border-color: #3b82f6 !important; text-decoration: none !important; }
.tbwc-summary-page .tbwc-btn-secondary:focus { color: #1d4ed8 !important; text-decoration: none !important; }

/* Danger - red outline */
.tbwc-summary-page .tbwc-btn-danger { background: #fff !important; color: #b91c1c !important; border: 2px solid #fca5a5 !important; box-shadow: none !important; }
.tbwc-summary-page .tbwc-btn-danger:hover { background: #fef2f2 !important; color: #b91c1c !important; border-color: #ef4444 !important; text-decoration: none !important; }
.tbwc-summary-page .tbwc-btn-danger:focus { color: #b91c1c !important; text-decoration: none !important; }

/* Mobile */
@media (max-width: 600px) {
    .tbwc-summary-page .tbwc-summary-actions { flex-direction: column !important; }
    .tbwc-summary-page .tbwc-btn { flex: 1 1 100% !important; min-width: unset !important; }
    .tbwc-summary-page .tbwc-btn-primary { order: -1 !important; }
    .tbwc-summary-page .tbwc-btn-danger { order: 1 !important; }
    .tbwc-summary-page .tbwc-pricing-grid { grid-template-columns: 1fr !important; }
    .tbwc-summary-page .tbwc-summary-table tbody td:first-child { width: auto !important; }
}

/* ── Totals bar ── */
.tbwc-summary-page .tbwc-totals-bar {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    margin-top: 12px !important;
    border-top: 2px solid #e2e8f0 !important;
    padding-top: 0 !important;
    background: #f8fafc !important;
    border-radius: 0 0 8px 8px !important;
    overflow: hidden !important;
}

.tbwc-summary-page .tbwc-totals-item {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex: 1 1 45% !important;
    padding: 7px 14px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-left: 1px solid #e2e8f0 !important;
    gap: 10px !important;
}

.tbwc-summary-page .tbwc-totals-label {
    font-size: 15px !important;
    color: #64748b !important;
    font-weight: 600 !important;
}

.tbwc-summary-page .tbwc-totals-value {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    white-space: nowrap !important;
}

.tbwc-summary-page .tbwc-totals-rounded .tbwc-totals-value {
    color: #1d4ed8 !important;
}

.tbwc-summary-page .tbwc-totals-discount .tbwc-totals-value {
    color: #ec4899 !important;
}

.tbwc-summary-page .tbwc-totals-final {
    flex: 1 1 100% !important;
    flex-wrap: wrap !important;
    background: #1e293b !important;
    padding: 10px 16px !important;
    border-bottom: none !important;
}

.tbwc-summary-page .tbwc-totals-final .tbwc-totals-label {
    color: #cbd5e1 !important;
    font-size: 16px !important;
}

.tbwc-summary-page .tbwc-totals-final .tbwc-totals-value {
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 800 !important;
}

.tbwc-summary-page .tbwc-totals-final .tbwc-payment-notice {
    color: #78350f !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    width: 100% !important;
    padding-top: 4px !important;
}

@media (max-width: 600px) {
    .tbwc-summary-page .tbwc-totals-item {
        flex: 1 1 100% !important;
        border-left: none !important;
    }
}

/* ── Terms & conditions checkboxes ── */
.tbwc-summary-page .tbwc-terms-wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 14px 16px !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    margin-top: 6px !important;
}

.tbwc-summary-page .tbwc-terms-label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    cursor: pointer !important;
    font-size: 17px !important;
    color: #374151 !important;
    line-height: 1.5 !important;
}

.tbwc-summary-page .tbwc-terms-label input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    margin: 2px 0 0 0 !important;
    cursor: pointer !important;
    accent-color: #16a34a !important;
}

.tbwc-summary-page .tbwc-terms-label a {
    color: #1d4ed8 !important;
    text-decoration: underline !important;
}

.tbwc-summary-page .tbwc-terms-label a:hover {
    color: #1e40af !important;
}

/* Disabled cart button state */
.tbwc-summary-page .tbwc-btn-primary:disabled,
.tbwc-summary-page .tbwc-btn-primary[disabled] {
    background: #9ca3af !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
    opacity: 0.7 !important;
    filter: none !important;
}

/* ── Bit payment checkbox ── */
.tbwc-summary-page .tbwc-bit-wrapper {
    display: flex !important;
    align-items: center !important;
    padding: 12px 16px !important;
    background: #fffbeb !important;
    border: 1px solid #fcd34d !important;
    border-radius: 10px !important;
    margin-top: 8px !important;
}

.tbwc-summary-page .tbwc-bit-label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    cursor: pointer !important;
    font-size: 15px !important;
    color: #374151 !important;
    width: 100% !important;
}

.tbwc-summary-page .tbwc-bit-label input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    cursor: pointer !important;
    accent-color: #f59e0b !important;
}

.tbwc-summary-page .tbwc-bit-logo {
    height: 24px !important;
    width: auto !important;
    vertical-align: middle !important;
}

/* ── Payment services (Bit / Paybox) ── */
.tbwc-summary-page .tbwc-payment-services-wrapper {
    padding: 12px 16px !important;
    background: #fffbeb !important;
    border: 1px solid #fcd34d !important;
    border-radius: 10px !important;
    margin-top: 8px !important;
}

.tbwc-summary-page .tbwc-payment-services-title {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #374151 !important;
    margin-bottom: 10px !important;
}

.tbwc-summary-page .tbwc-payment-services-row {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

.tbwc-summary-page .tbwc-payment-service-label {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    padding: 8px 16px !important;
    border: 2px solid #e5e7eb !important;
    border-radius: 8px !important;
    background: #fff !important;
    transition: border-color 0.15s, background 0.15s !important;
    min-width: 100px !important;
}

.tbwc-summary-page .tbwc-payment-service-label:hover {
    border-color: #fcd34d !important;
    background: #fefce8 !important;
}

.tbwc-summary-page .tbwc-payment-service-label.tbwc-payment-selected {
    border-color: #f59e0b !important;
    background: #fef3c7 !important;
}

.tbwc-summary-page .tbwc-payment-service-label input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    cursor: pointer !important;
    accent-color: #f59e0b !important;
}

.tbwc-summary-page .tbwc-payment-logo {
    height: 28px !important;
    width: auto !important;
    vertical-align: middle !important;
}

.tbwc-summary-page .tbwc-payment-name {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #374151 !important;
}
/* ── Payment service notice row ── */
.tbwc-summary-page .tbwc-payment-notice {
    background: #fef3c7 !important;
    border-radius: 6px !important;
    padding: 6px 12px !important;
    font-size: 15px !important;
    color: #92400e !important;
    font-weight: 600 !important;
    margin-top: 4px !important;
    justify-content: center !important;
}
