/* ================================================================
# DACOG Search Engine – System Architecture
# File: checkout-pages.css
# Path: /static/css/checkout-pages.css
# Version: 3.0.0
# Description: Mathematical-Unit Checkout Flow (Light/Hero Theme)
# ================================================================*/

/* 1. Base Wrappers */
.checkout-wrapper {
    padding-top: 3.125rem; /* 50px */
    padding-bottom: 3.125rem;
    min-height: 80vh;
}

/* 2. Theme-Aware Cards */
.checkout-card {
    background-color: var(--dacog-bg-nav);
    border: 0.0625rem solid var(--dacog-border-color);
    -webkit-border-radius: 1rem;
    -moz-border-radius: 1rem;
    border-radius: 1rem;
    -webkit-box-shadow: var(--dacog-shadow-sm);
    -moz-box-shadow: var(--dacog-shadow-sm);
    box-shadow: var(--dacog-shadow-sm);
    padding: 1.875rem; /* 30px */
    overflow: hidden;
}

.checkout-summary-card {
    background-color: var(--dacog-bg-base);
    border: 0.0625rem solid var(--dacog-border-color);
    -webkit-border-radius: 1rem;
    -moz-border-radius: 1rem;
    border-radius: 1rem;
    padding: 1.875rem;
    position: -webkit-sticky;
    position: sticky;
    top: 6.25rem; /* 100px */
}

/* 3. Typography & Tables */
.checkout-title {
    font-weight: 800;
    color: var(--dacog-text-main);
    margin-bottom: 1.5rem;
    border-bottom: 0.125rem solid var(--dacog-border-color);
    padding-bottom: 1rem;
}

.cart-table th {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.0625rem;
    color: var(--dacog-text-muted);
    border-bottom: 0.0625rem solid var(--dacog-border-color);
    padding-bottom: 1rem;
}

.cart-table td {
    padding: 1.5rem 0;
    border-bottom: 0.0625rem solid var(--dacog-border-color);
    color: var(--dacog-text-main);
}

.cart-table tr:last-child td {
    border-bottom: none;
}

.price-text {
    font-family: 'JetBrains Mono', 'Courier New', Courier, monospace;
    font-weight: 700;
    font-size: 1.125rem;
}

/* 4. Success Page Specifics */
.success-icon-wrapper {
    width: 6.25rem; /* 100px */
    height: 6.25rem;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    background-color: rgba(25, 135, 84, 0.1); /* Success green soft */
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem auto;
}

.theme-hero .success-icon-wrapper {
    background-color: rgba(129, 201, 149, 0.15); /* Adjusted for dark mode */
}

.success-icon-wrapper i {
    font-size: 3.125rem; /* 50px */
    color: var(--dacog-accent-green);
}

.receipt-box {
    background-color: var(--dacog-bg-base);
    border: 0.0625rem dashed var(--dacog-border-color);
    -webkit-border-radius: 0.75rem;
    -moz-border-radius: 0.75rem;
    border-radius: 0.75rem;
    padding: 1.5rem;
    margin-bottom: 2rem;
    text-align: left;
}

.receipt-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.75rem;
    font-size: 0.9rem;
}

.receipt-row:last-child {
    margin-bottom: 0;
}

/* ==========================================================================
   5. MEDIA QUERIES (AFRICAN TARGET OPTIMIZATION)
   ========================================================================== */

@media screen and (max-width: 62em) { /* 992px */
    .checkout-summary-card {
        position: relative;
        top: 0;
        margin-top: 1.5rem;
    }
}

@media screen and (max-width: 30em) { /* 480px */
    .checkout-wrapper {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
    }
    
    .checkout-card, .checkout-summary-card {
        padding: 1.25rem;
    }
    
    .cart-table th {
        display: none; /* Hide table headers on mobile */
    }
    
    .cart-table td {
        display: block;
        padding: 0.5rem 0;
        text-align: left;
        border-bottom: none;
    }
    
    .cart-table tr {
        display: block;
        border-bottom: 0.0625rem solid var(--dacog-border-color);
        padding-bottom: 1rem;
        margin-bottom: 1rem;
    }
    
    .cart-table tr:last-child {
        border-bottom: none;
        margin-bottom: 0;
        padding-bottom: 0;
    }
    
    .cart-table td:nth-child(2), .cart-table td:nth-child(3) {
        text-align: right;
    }
    
    .success-icon-wrapper {
        width: 4.5rem;
        height: 4.5rem;
    }
    
    .success-icon-wrapper i {
        font-size: 2.25rem;
    }
    
    .receipt-row {
        flex-direction: column;
        margin-bottom: 1rem;
    }
}