﻿/* ====== Base ====== */
:root {
    --bg: #f3f5f9;
    --card: #ffffff;
    --text: #111827;
    --muted: #6b7280;
    --line: rgba(17,24,39,.10);
    --shadow: 0 20px 50px rgba(17,24,39,.10);
    --radius: 22px;
    --gold1: #f7c948;
    --gold2: #f3b61f;
}

body {
    background: var(--bg);
    color: var(--text);
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
/* Telephone label style */


    /* Optional: hover (if it’s inside a link/div) */
    #company_phone:hover {
        background: #eef2f7;
    }
/* container */
.stepperWrap {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 1.2rem 0;
}

/* stepper row */
.stepper {
    width: 80%;
    max-width: 900px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
    gap: 2%;
}

/* each step takes equal space */
.step {
    width: 32%;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

    /* line between steps (drawn by pseudo elements) */
    .step:not(:last-child)::after {
        content: "";
        position: absolute;
        top: 18px; /* aligns with circle center */
        left: 56%;
        width: 88%;
        height: 2px;
        background: #d9d9d9;
        z-index: 0;
    }

/* circle */
.stepCircle {
    width: 38px;
    height: 38px;
    border-radius: 999px;
    background: #f1f1f1;
    border: 2px solid #d9d9d9;
    display: grid;
    place-items: center;
    position: relative;
    z-index: 1;
}

/* number */
.stepNum {
    font-weight: 700;
    font-size: 14px;
    color: #666;
}

/* label */
.stepLabel {
    margin-top: 8px;
    font-size: 14px;
    color: #6b6b6b;
    font-weight: 600;
}

/* active step (like figma) */
.step.is-active .stepCircle {
    background: #1f2a44; /* change to your brand */
    border-color: #1f2a44;
}

.step.is-active .stepNum {
    color: #fff;
}

.step.is-active .stepLabel {
    color: #1f2a44;
}

/* done step */
.step.is-done .stepCircle {
    background: #eaf6ee;
    border-color: #2aa84a;
}

.step.is-done .stepNum {
    display: none; /* hide number when done */
}

.stepCheck {
    width: 16px;
    height: 16px;
    display: none;
}

.step.is-done .stepCheck {
    display: block;
}

/* make line green up to completed step */
.step.is-done:not(:last-child)::after {
    background: #2aa84a;
}
.topboxes,
.secondline,
.thirdline_processed {
    height: auto !important;
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* if your stepper container has extra height */
.diabox {
    margin-bottom: 12px !important;
}
/* responsive */
@media (max-width: 1024px) {
    .stepper {
        width: 92%;
    }

    .stepLabel {
        font-size: 13px;
    }

    .stepCircle {
        width: 34px;
        height: 34px;
    }

    .step:not(:last-child)::after {
        top: 16px;
        left: 58%;
        width: 84%;
    }
}
.menu2div_processed {
    margin-left: 0px;
    float: left;
    margin-top: 0px;
    /*background-color: blue;*/
    width: 200px;
    visibility: hidden;
}

/* ====== Shell ====== */

.checkoutShell {
    width: 100%;
    min-height: 600px;
    display: flex;
    justify-content: center; /* center both cards */
    align-items: flex-start;
    gap: 2%; /* equal space between them */
    padding: 2%;
    box-sizing: border-box;
}


/* Stepper wrapper spacing */
.checkoutStepper {
    margin-bottom: 22px;
}

/* ====== Grid ====== */

  /*   Desktop: left card wider than right card 
    .checkoutGrid {
        display: grid;
        grid-template-columns: 1.35fr 0.65fr;  ✅ edit these numbers anytime 
        gap: 24px;
        align-items: start;
    }
*/

/* ====== Card ====== */
.cardx {
    width: 50%;
    background: #F6F7F9;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 22px;
    box-sizing: border-box;
}

.card {
    width: 28%;
    background: #F6F7F9;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 22px;
    box-sizing: border-box;
}

.cardTitle {
    margin: 0 0 14px;
    font-size: 22px;
    font-weight: 700;
}

/* ====== Form ====== */
.formGrid {
    display: grid;
    gap: 12px;
}

.field {
    width: 100%;
}

.input {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 14px 14px;
    font-size: 14px;
    outline: none;
    background: #fff;
    box-sizing: border-box;
    margin-top: 10px; /* move down */
}

.input:focus {
    border-color: rgba(59,130,246,.45);
    box-shadow: 0 0 0 4px rgba(59,130,246,.12);
}
.inputx {
    width: 100%;
    padding: 14px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    font-size: 14px;
    outline: none;
    background: #f9fafb;
    box-sizing: border-box;
}
    .inputx:focus {
        border-color: rgba(59,130,246,.45);
        box-shadow: 0 0 0 4px rgba(59,130,246,.12);
    }
.inputTallx {
    min-height: 90px;
    resize: none;
}
.inputTall {
    min-height: 54px;
}

.radioRow {
    display: flex;
    gap: 18px;
    align-items: center;
    padding: 6px 2px;
}

    .radioRow label {
        position: relative;
        top: 6px; /* move DOWN */
    }

.leftFooterLink {
    margin-top: 10px;
}

/* ====== Summary list ====== */
.summaryList {
    margin-top: 4px;
}

.summaryDL {
    width: 100%;
}

/* one product row */
.summaryRow {
    display: grid;
    grid-template-columns: auto 56px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 16px;
    /*background: rgba(255,255,255,.9);*/
    margin-bottom: 12px;
}

.deleteBtn {
    border-radius: 8px;
    background: transparent;
    color: #ef4444;
    font-weight: 700;
    cursor: pointer;
    padding: 6px 10px;
    text-decoration: none;
    border: 1px solid #ccc;
}

    .deleteBtn:hover {
        text-decoration: underline;
    }

.sumImg {
    width: 56px;
    height: 56px;
    
    overflow: hidden;
  
    background: #fff;
    display: grid;
    place-items: center;
}

.sumImgEl {
    width: 100%;
    height: 100%;
    
}

.sumMeta {
    min-width: 0;
}

.sumName {
    font-weight: 700;
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sumQty {
    color: var(--muted);
    font-size: 13px;
    margin-top: 3px;
}

.sumPrice {
    font-weight: 800;
    font-size: 14px;
    color: var(--muted);
}

/* ====== Totals ====== */
.summaryTotals {
    border-top: 1px solid var(--line);
    margin-top: 10px;
    padding-top: 14px;
}

.totRow {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.totLabel {
    color: var(--muted);
    font-weight: 600;
}

.totValue {
    font-size: 20px;
    font-weight: 800;
}

/* ====== Pay button ====== */
.payBtn {
    width: 89%;
    display: block;
    margin: 20px auto; /* centers the button */
    margin-top: 16px;
    border: none;
    padding: 14px 16px;
    border-radius: 16px;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    background: linear-gradient(135deg, var(--gold1), var(--gold2));
    /*box-shadow: 0 14px 30px rgba(243,182,31,.25);*/
}

.payBadges {
    width: 48%;
    display: block;
    margin: 20px auto; /* centers the button */
    margin-top: 16px;
    border: none;
    padding: 3px 16px;
    
}


.badgeImg {
    height: auto;
   max-width: 100%;
    opacity: .95;
}

.secureNote {
    text-align: center;
    color: var(--muted);
    font-size: 18px;
    padding-bottom: 6px;
    
}

.summaryFooter {
    margin-top: 10px;
    display: flex;
    justify-content: center;
}

.ghostBtn {
    background: transparent;
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 12px 14px;
    font-weight: 700;
    cursor: pointer;
}

/* ===== FORCE modern layout to take full width ===== */


.checkoutGrid {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1.1fr .9fr !important;
    gap: 24px !important;
}

/* If any old CSS is floating parents, kill it */
.topboxes, .secondline, .thirdline_processed {
    /*float: none !important;
    width: 100% !important;*/
}

/* Stop old layout from squeezing body */
body, html {
    width: 100% !important;
    overflow-x: hidden;
}

/* ====== RESPONSIVE (as you like it: max-width 1024px) ====== */
@media (max-width: 1024px) {

    .checkoutShell {
        flex-direction: column;
        align-items: center;
    }

    .checkoutGrid {
        grid-template-columns: 1fr;
    }

   

    .cardx {
        width: 90%;
        
    }
    .card {
        width: 90%;
        margin-top: 15px;
    }

   

    .cardTitle {
        font-size: 18px;
    }

    .summaryRow {
        grid-template-columns: auto 52px 1fr;
        grid-template-areas:
            "del img meta"
            "price price price";
    }

    .deleteBtn {
        grid-area: del;
        justify-self: start;
    }

    .sumImg {
        grid-area: img;
    }

    .sumMeta {
        grid-area: meta;
    }

    .sumPrice {
        grid-area: price;
        justify-self: end;
        padding-top: 4px;
    }
}

  


/* PAGE CENTERING */

.order_success_container {
    width: 100%;
    min-height: 60vh;
    display: flex;
    justify-content: center;
    align-items: center;
    
}


/* SUCCESS BOX */

.order_success_box {
    width: 38%;
    background: #F6F7F9; 
    border-radius: 18px;
    padding: 45px 35px;
    text-align: center;
    box-shadow: 0 15px 45px rgba(0,0,0,0.08);
    font-family: Segoe UI, Arial;
}


/* SUCCESS ICON */

.success_icon {
    width: 70px;
    height: 70px;
    background: #22c55e;
    color: white;
    font-size: 34px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto;
    margin-bottom: 20px;
    box-shadow: 0 8px 20px rgba(34,197,94,0.25);
}


/* TITLE */

.success_title {
    font-size: 34px;
    margin-bottom: 8px;
    color: #111827;
    font-weight: 700;
}


/* SUBTITLE */

.success_subtitle {
    font-size: 18px;
    color: #374151;
    margin-bottom: 12px;
}


/* DESCRIPTION */

.success_desc {
    font-size: 14px;
    color: #6b7280;
    width: 80%;
    margin: auto;
    line-height: 1.6;
    margin-bottom: 30px;
}


/* BUTTON */

.success_btn {
    display: inline-block;
    padding: 12px 30px;
    border-radius: 8px;
    background: #ef4444;
    color: white;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: 0.3s;
}

    .success_btn:hover {
        background: #dc2626;
    }

.ocActions {
    width: 100%;
    margin-top: 5%;
}

/* Button (ASP.NET Button2) */
.ocBtn {
    width: 60%;
    padding: 3.2% 4%;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    color: #111827;
    font: 700 15px/1 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    cursor: pointer;
    transition: transform .15s ease, box-shadow .2s ease;
}

    .ocBtn:hover {
        transform: translateY(-1px);
       /* box-shadow: 0 14px 30px rgba(245, 158, 11, 0.28);*/
    }

/* Telephone pill (ASP.NET Label company_phone) */
.ocPhoneWrap {
    width: 100%;
    margin-top: 4%;
}

#company_phone {
    width: 38%;
    margin: 0 auto;
    padding: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: 999px;
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    color: #0f172a;
    font: 650 14px/1 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    box-sizing: border-box;
}

    #company_phone::before {
        content: "📞";
        font-size: 16px;
    }
@media (max-width:1024px) {

    .order_success_box {
        width: 90%;
        padding: 35px 20px;
    }

    .success_title {
        font-size: 28px;
    }

    .success_desc {
        width: 100%;
    }
}