.checkout-page{

    width:100%;
    max-width:800px;

    margin:0 auto;

    padding:
        60px 5px 140px;

}

.checkout-title{

    font-size:52px;
    font-weight:800;
    line-height:1;

    margin-bottom:12px;

}

.checkout-subtitle{

    opacity:.7;

    margin-bottom:48px;

}

.checkout-card{

    background:
        linear-gradient(
            180deg,
            rgba(
                46,
                45,
                94,
                .18
            ),
            rgba(
                255,
                255,
                255,
                .03
            )
        );

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .06
        );

    border-radius:32px;

    padding:28px;

    backdrop-filter:
        blur(20px);

    margin-bottom:24px;

}

.checkout-section-title{

    font-size:28px;
    font-weight:700;

    margin-bottom:20px;

}

.checkout-textarea{

    width:100%;
    min-height:120px;

    background:
        rgba(255,255,255,.04);

    border:
        1px solid
        rgba(255,255,255,.08);

    border-radius:22px;

    color:#fff;

    padding:18px;

    resize:none;

    font-size:16px;

    outline:none;

}

.checkout-textarea::placeholder{

    color:
        rgba(255,255,255,.4);

}

.checkout-summary-item{

    display:flex;
    justify-content:space-between;

    gap:20px;

    padding:14px 0;

    border-bottom:
        1px solid
        rgba(255,255,255,.06);

}

.checkout-summary-name{

    font-weight:600;

}

.checkout-summary-price{

    font-weight:700;

}

.checkout-total{

    display:flex;
    justify-content:space-between;
    align-items:center;

    margin-top:28px;

    font-size:30px;
    font-weight:800;

    color:
        var(--local-orange);

}

.checkout-submit{

    width:100%;

    border:none;

    height:72px;

    border-radius:28px;

    background:
        var(--local-primary);

    color:#fff;

    font-size:20px;
    font-weight:800;

    box-shadow:
        0 15px 40px
        var(--brand-glow);

    cursor:pointer;

    transition:.25s ease;

    margin-top:32px;

}

.checkout-submit:hover{

    transform:
        translateY(-2px);

}

.checkout-submit:disabled{

    opacity:.45;

    cursor:not-allowed;

    transform:none;

}

.checkout-helper{

    opacity:.6;

    line-height:1.5;

    margin-top:12px;

}

@media(max-width:768px){
    
    .checkout-page{
        width:100%;
        max-width:100%;
        
        padding:
        20px 0px 140px;
    }

    .checkout-title{

        font-size:42px;

    }

    .checkout-card{
        width:100%;
        max-width:100%;

        padding:22px 20px;

        border-radius:28px;

    }

}

#checkout-map{

    width:100%;
    height:320px;

    border-radius:28px;

    overflow:hidden;

    margin-top:22px;

}

.location-btn{

    width:100%;

    height:58px;

    border:none;

    border-radius:18px;

    background:
        rgba(
            24,
            167,
            192,
            .12
        );

    border:
        1px solid
        rgba(
            24,
            167,
            192,
            .20
        );

    color:#fff;

    font-size:16px;
    font-weight:700;

}

.map-actions{

    display:flex;
    gap:12px;

    margin-top:18px;

}

.map-action-btn{

    flex:1;

    height:54px;

    border:none;

    border-radius:18px;
    
    background:
        rgba(255,255,255,.05);

    color:#fff;

    font-size:15px;
    font-weight:700;

    display:flex;
    align-items:center;
    justify-content:center;

    text-decoration:none;

    cursor:pointer;

    transition:.2s ease;

}

.map-action-btn:hover{

    background:
        rgba(
            24,
            167,
            192,
            .18
        );

}

.custom-marker{

    position:relative;

    width:fit-content;
    height:54px;

}

.marker-badge{

    position:absolute;

    left:50%;
    bottom:12px;

    transform:
        translateX(-50%);

    display:flex;
    align-items:center;
    gap:10px;

    height:42px;

    padding:0 14px;

    border-radius:18px;

    color:#fff;

    font-size:.75rem;
    font-weight:600;

    white-space:nowrap;

    box-shadow:
        0 10px 30px rgba(0,0,0,.22);

    backdrop-filter:blur(12px);

    border: none;

}

.custom-marker::before{

    content:'';

    position:absolute;

    left:50%;
    bottom:2px;

    transform:
        translateX(-50%);

    width:18px;
    height:12px;

    clip-path:
        polygon(
            50% 100%,
            0 0,
            100% 0
        );

}

.marker-badge i{

    font-size:1.1rem;

}

.shop-marker .marker-badge{

    background:
        rgba(17,17,17,.92);

}

.customer-marker .marker-badge{

    background: white;
    border: none;
    color: black;

}

.shop-marker::before{

    background:
        rgba(17,17,17,.92);

}

.customer-marker::before{

    background: white;
    border: none;

}

.customer-marker::after{

    content:'';

    position:absolute;

    left:calc(50% - 11px);

    bottom:-9px;

    transform:
        translateX(-50%);

    width:18px;
    height:18px;

    border-radius:999px;

    border:
        2px solid rgba(255,255,255,.58);

    animation:
        customerPulse 2.2s infinite;

    z-index:-1;

}

.delivery-location-indicator{

    margin-top:12px;

    padding:14px 16px;

    border-radius:16px;

    background:
        rgba(255,255,255,.04);

    border:
        1px solid rgba(255,255,255,.08);

    font-size:.92rem;

    color:
        rgba(255,255,255,.82);

    text-align:center;

    backdrop-filter: blur(12px);

}

//*
|--------------------------------------------------------------------------
| DELIVERY SUBOPTIONS
|--------------------------------------------------------------------------
*/

.checkout-section-title{

    font-size:24px;

    font-weight:700;

    margin-bottom:10px;

}

.checkout-options{

    display:flex;

    flex-direction:column;

    gap:6px;

}

.checkout-option{

    display:flex;

    align-items:center;

    gap:12px;

    min-height:34px;

    font-size:17px;

}

.checkout-option input{

    width:20px;
    height:20px;

}

.checkout-option input[type="radio"]{

    appearance:none;

    -webkit-appearance:none;

    width:20px;
    height:20px;

    min-width:20px;

    flex-shrink:0;

    border-radius:999px;

    border:
        2px solid
        rgba(255,255,255,.18);

    background:
        rgba(255,255,255,.03);

    cursor:pointer;

    position:relative;

    transition:
        var(--transition);

}

.checkout-option input[type="radio"]:checked{

    border-color:
        var(--local-cyan);

    background:
        rgba(
            24,
            167,
            192,
            .15
        );

}

.checkout-option input[type="radio"]::after{

    content:'';

    position:absolute;

    top:50%;
    left:50%;

    width:8px;
    height:8px;

    border-radius:999px;

    background:
        var(--local-cyan);

    transform:
        translate(-50%,-50%)
        scale(0);

    transition:
        var(--transition);

}

.checkout-option
input[type="radio"]:checked::after{

    transform:
        translate(-50%,-50%)
        scale(1);

}

.checkout-option span{

    display:flex;

    align-items:center;

    gap:10px;

    line-height:1.2;

}

.checkout-options + .checkout-section-title{

    margin-top:14px;

}

.map-action-btn{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

}

.checkout-location-confirm-btn{

    width:100%;

    height:56px;

    border:none;

    border-radius:18px;

    background:
        var(--local-cyan);

    color:#fff;

    font-size:15px;
    font-weight:700;

    box-shadow:
        0 10px 30px
        rgba(24,167,192,.25);

    cursor:pointer;

}

/*
|--------------------------------------------------------------------------
| SHOP INLINE ACTIONS
|--------------------------------------------------------------------------
*/

.shop-actions-inline{

    display:flex;

    align-items:left;

    justify-content:left;

    gap:14px;

    flex-wrap:wrap;

    margin-top:6px;

}

.shop-inline-action{

    display:flex;

    align-items:left;

    gap:8px;

    text-decoration:none;

    color:var(--text-faded);

    font-size:.95rem;

    font-weight:600;

    transition:.2s;

}

.shop-inline-action:hover{

    color:var(--text-primary);

}

.shop-actions-divider{

    color:rgba(
        255,
        255,
        255,
        .28
    );

}

.profile-sheet-quick-links{

    display:grid;

    grid-template-columns:
        repeat(3,1fr);

    gap:12px;

    margin-top:16px;

}

.profile-sheet-mini-card{

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    gap:8px;

    min-height:86px;

    text-decoration:none;

    color:inherit;

    border-radius:18px;

    background:var(--glass-3);

    border:
        1px solid
        var(--border-glass);

}

.profile-sheet-mini-card i{

    font-size:1.15rem;

    opacity:.85;

}

.profile-sheet-mini-card span{

    font-size:.78rem;

    text-align:center;

    line-height:1.3;

}

.shop-delivery-only{

    color:
        var(
            --local-orange
        );

    font-size:.9rem;
    font-weight:600;

}

.checkout-options{

    display:flex;
    flex-direction:column;
    gap:12px;

}

.checkout-option{

    display:block;
    cursor:pointer;
    position:relative;

}

.checkout-option input{

    position:absolute;
    opacity:0;

}

.checkout-option span{

    display:flex;
    align-items:center;
    gap:14px;

    min-height:64px;

    padding:16px 18px;

    border-radius:16px;

    background:var(--bg-surface-2);

    border:1px solid var(--glass-border);

    transition:.25s ease;

    font-weight:600;

    position:relative;

}

.checkout-option i{

    width:40px;
    height:40px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:12px;

    background:
        rgba(255,255,255,.05);

    color:var(--local-cyan);

}

.checkout-option:hover span{

    transform:translateY(-1px);

}

.checkout-option input:checked + span{

    border-color:
        var(--local-cyan);

    background:
        linear-gradient(
            135deg,
            rgba(24,167,192,.15),
            rgba(24,167,192,.05)
        );

}

.checkout-option input:checked + span::after{

    content:"✓";

    margin-left:auto;

    width:28px;
    height:28px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
        var(--local-cyan);

    color:#fff;

    font-size:.8rem;

    font-weight:700;

}
