@font-face
{
    font-family: "Halo";
    src: url("/fonts/Halo.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: block;
}


body
{
    margin: 0;
    background-color: #111;
    color: white;
    font-family: Arial, sans-serif;

    overflow-x: hidden;
}

a {
    color: #ff3333;
    text-decoration: none;
}

a:hover {
    color: #ff8888;
    text-decoration: underline;
}


.banner
{
    height: 300px;
    width: 100%;
    overflow: hidden;
    position: relative;
}


.banner img
{
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.banner-image
{
    width: 100%;
    height: 100%;

    object-fit: cover;
}


.banner-text
{
    position: absolute;
    top: 50%;
    left: 50%;

    transform: translate(-50%, -50%) scaleY(1.3);

    color: rgb(255, 0, 0);

    text-shadow:
        3px 3px 5px black;

    font-family: "Halo";

    font-weight: 400;

    font-size: clamp(32px, 8vw, 120px);

    font-style: normal;

    white-space: nowrap;

    text-align: center;
}


.navbar
{
    display: flex;

    justify-content: center;

    gap: 20px;

    padding: 15px;

    background-color: #222;
}


.navbar a
{
    color: white;

    text-decoration: none;

    padding: 10px 25px;

    border: 2px solid white;

    border-radius: 5px;
}


.navbar a:hover
{
    background-color: white;
    color: black;
}


.content
{
    padding: 40px;


    max-width: 1200px;

    margin: auto;

    line-height: 2;
}

.image-grid {
    width: 90%;
    max-width: 1400px;
    margin: 50px auto;

    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}


.image-grid img {
    width: 100%;
    height: auto;
    display: block;
}

.main-image
{
    display: block;

    width: 600px;
    max-width: 90%;

    margin: 30px auto 15px auto;
}


.image-link
{
    display: block;

    text-align: center;

    color: white;

    font-size: 20px;

    text-decoration: none;
}


.image-link:hover
{
    color: red;
    text-decoration: underline;
}

.footer-spacing
{
    height: 300px;
}

.site-footer
{
    margin-top: 60px;

    padding: 40px 20px;

    background-color: #151515;

    border-top: 2px solid #444;

    text-align: center;
}


.footer-header h2
{
    font-family: "Halo";

    font-weight: 400;

    color: red;

    margin: 0;

    font-size: 40px;
}


.footer-header p
{
    color: #aaa;

    margin-top: 10px;
}



.footer-links
{
    display: flex;

    justify-content: center;

    gap: 20px;

    margin: 30px 0;
}


.footer-links a
{
    color: white;

    text-decoration: none;

    border: 2px solid white;

    padding: 10px 25px;

    border-radius: 5px;
}


.footer-links a:hover
{
    background-color: white;

    color: black;
}



.footer-panels
{
    display: flex;

    justify-content: center;

    gap: 30px;

    margin-top: 40px;
}



.footer-panel
{
    width: 180px;

    color: white;

    text-decoration: none;

    border: 2px solid #555;

    padding: 15px;

    background-color: #222;
}



.footer-panel img
{
    width: 120px;

    height: 120px;

    object-fit: contain;

    display: block;

    margin: 0 auto 15px auto;
}



.footer-panel span
{
    font-family: "Halo";

    font-size: 22px;
}



.footer-panel:hover
{
    border-color: white;
}



.footer-bottom
{
    margin-top: 40px;

    color: #777;

    font-size: 14px;
}

.about-text {

    width: 80%;
    max-width: 900px;

    margin: 50px auto;

    padding: 40px;

    text-align: center;

    font-size: 1.3rem;

    line-height: 1.8;

}

/* =========================
   ADMIN PAGE
========================= */


.admin-title
{
    text-align: center;

    font-family: "Halo";

    color: red;

    font-size: clamp(45px, 8vw, 100px);

    text-shadow:
        3px 3px 5px black;

    margin: 50px 0;
}



.admin-container
{
    width: 90%;

    max-width: 1200px;

    margin: auto;
}



.admin-panel
{
    background-color: #151515;

    border: 2px solid #444;

    border-radius: 8px;

    padding: 30px;

    margin-bottom: 40px;

    box-shadow:
        0 0 15px black;
}



.admin-panel h2
{
    font-family: "Halo";

    font-weight: 400;

    color: red;

    text-align: center;

    font-size: 35px;

    margin-top: 0;

    margin-bottom: 25px;
}



.admin-buttons
{
    display: flex;

    justify-content: center;

    align-items: center;

    gap: 20px;

    flex-wrap: wrap;
}



.admin-buttons button,
.commission-actions button
{
    background-color: #222;

    color: white;

    border: 2px solid white;

    border-radius: 5px;

    padding: 12px 30px;

    font-size: 18px;

    cursor: pointer;

    transition: 0.2s;
}



.admin-buttons button:hover,
.commission-actions button:hover
{
    background-color: white;

    color: black;
}



.admin-table-container
{
    background-color: #111;

    border: 2px solid #333;

    border-radius: 6px;

    overflow-x: auto;

    padding: 10px;
}



.admin-table
{
    width: 100%;

    border-collapse: collapse;

    color: white;

    min-width: 700px;
}



.admin-table th
{
    font-family: "Halo";

    color: red;

    font-size: 22px;

    background-color: #222;
}



.admin-table th,
.admin-table td
{
    border: 1px solid #444;

    padding: 14px;

    text-align: center;
}



.admin-table tr:nth-child(even)
{
    background-color: #191919;
}



.admin-table tr:hover
{
    background-color: #333;
}

.status-on
{
    text-align: center;

    color: red;

    font-family: "Halo";

    font-size: 28px;

    margin: 20px;
}



.status-off
{
    text-align: center;

    color: #00ff66;

    font-family: "Halo";

    font-size: 28px;

    margin: 20px;
}

.login-panel
{
    max-width: 500px;

    margin: auto;

    text-align: center;
}



.login-form
{
    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 20px;
}



.login-form input
{
    width: 80%;

    max-width: 350px;

    padding: 12px;

    background-color: #222;

    color: white;

    border: 2px solid #555;

    border-radius: 5px;

    font-size: 18px;

    text-align: center;
}



.login-form input:focus
{
    outline: none;

    border-color: red;
}



.login-form button
{
    background-color: #222;

    color: white;

    border: 2px solid white;

    border-radius: 5px;

    padding: 12px 40px;

    font-size: 18px;

    cursor: pointer;
}



.login-form button:hover
{
    background-color: white;

    color: black;
}



.commission-information
{
    background-color:#111;

    border:2px solid #333;

    border-radius:6px;

    padding:20px;

}



.commission-information p
{
    color:white;

    font-size:18px;

    margin:12px 0;

    line-height:1.5;
}

.commission-list
{
    display:flex;

    flex-direction:column;

    gap:20px;
}



.commission-card
{
    display:flex;

    justify-content:space-between;

    align-items:center;

    background-color:#222;

    border:2px solid #555;

    border-radius:8px;

    padding:25px;

    color:white;

    text-decoration:none;

    transition:0.2s;
}

.commission-details
{
    flex:1;
}


.commission-actions
{
    display:flex;

    gap:15px;

    margin-left:20px;
}

.commission-card h2
{
    font-family:"Halo";

    color:red;

    font-size:30px;

    margin:0 0 10px 0;

    text-align:left;
}



.commission-card p
{
    color:#aaa;

    margin:0;

    font-size:18px;
}



.commission-card:hover
{
    border-color:red;

    background-color:#292929;

    transform:scale(1.02);
}

.admin-notes
{
    display:block;

    width:100%;
    height:300px;

    box-sizing:border-box;

    background-color:#181818;
    color:white;

    border:2px solid #444;
    border-radius:6px;

    padding:20px;

    font-family:Arial, sans-serif;
    font-size:20px;
    line-height:1.5;

    resize:none;

    outline:none;

    transition:0.2s;
}


.admin-notes:hover
{
    border-color:#666;
}


.admin-notes:focus
{
    border-color:red;

    box-shadow:
        0 0 10px rgba(255,0,0,0.4);

    background-color:#1b1b1b;
}

.admin-notes-pricing
{
    display:block;

    width:100%;
    height:105px;

    box-sizing:border-box;

    background-color:#181818;
    color:white;

    border:2px solid #444;
    border-radius:6px;

    padding:20px;

    font-family:Arial, sans-serif;
    font-size:20px;
    line-height:1.5;

    resize:none;

    outline:none;

    transition:0.2s;
}


.admin-notes-pricing:hover
{
    border-color:#666;
}


.admin-notes-pricing:focus
{
    border-color:red;

    box-shadow:
        0 0 10px rgba(255,0,0,0.4);

    background-color:#1b1b1b;
}

.admin-ip-box
{
    display:block;

    width:100%;
    height:60px;

    box-sizing:border-box;

    background-color:#181818;
    color:white;

    border:2px solid #444;
    border-radius:6px;

    padding:20px;

    font-family:Arial, sans-serif;
    font-size:20px;
    line-height:1.5;

    resize:none;

    outline:none;

    transition:0.2s;
}


.admin-ip-box:hover
{
    border-color:#666;
}


.admin-ip-box:focus
{
    border-color:red;

    box-shadow:
        0 0 10px rgba(255,0,0,0.4);

    background-color:#1b1b1b;
}

/* =========================
   PRICING SIDEBAR
========================= */


.pricing-sidebar
{
    position: fixed;

    left: 0;
    top: 0;

    width: 350px;

    height: 100vh;

    background-color: #151515;

    border-right: 2px solid #444;

    box-shadow: 5px 0 15px black;

    z-index: 999;

    transform: translateX(-350px);

    transition: 0.3s;
}



.pricing-sidebar.open
{
    transform: translateX(0);
}

.pricing-options
{
    flex:1;

    min-height:0;

    overflow-y:auto;

    scrollbar-width:none;
}


.pricing-options::-webkit-scrollbar
{
    display:none;
}


.pricing-total
{
    flex-shrink:0;

    background:#151515;

    padding-top:10px;
}

.pricing-tab
{
    position: absolute;

    left: 100%;

    top: 50%;

    transform: translateY(-50%);

    writing-mode: vertical-rl;

    background-color: #222;

    color: white;

    border: 2px solid #444;

    border-left: none;

    border-radius: 0 8px 8px 0;

    padding: 300px 25px;

    font-family: "Halo";

    font-size: 22px;

    cursor: pointer;

    transition: 0.2s;
}



.pricing-tab:hover
{
    background-color: #333;

    border-color: white;
}

.pricing-content
{
    padding:30px;

    height:100%;

    box-sizing:border-box;

    display:flex;

    flex-direction:column;

    overflow:hidden;
}

.pricing-content #pricing-content
{
    line-height: 1.8;
}

.pricing-section
{
    font-family:"Halo";
    color:red;
    text-align:center;

    margin:10px 0 15px 0;
}


.pricing-content h2
{
    margin-top:5px;
    margin-bottom:8px;
    padding:0;
}


#pricing-content
{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:12px;
}



.pricing-item
{
    display:flex;

    flex-direction:column;

    width:fit-content;

    align-self:center;

    min-width:220px;

    min-height:42px;

    max-width:300px;

    background:#151515;

    border:2px solid #444;

    border-radius:6px;

    padding:10px 24px;

    cursor:pointer;

    transition:0.2s;
}



.pricing-item:hover
{
    border-color:#777;
}



.pricing-item.selected
{
    border-color:red;

    background:#252020;

    box-shadow:
        0 0 10px rgba(255,0,0,0.5);
}



.pricing-row
{
    display:flex;

    align-items:center;

    justify-content:center;

    gap:15px;

    width:100%;

    min-height:42px;
}

.pricing-item.selected .pricing-row
{
    justify-content:space-between;
}

.pricing-name
{
    color:white;

    font-size:18px;

    line-height:1;

    white-space:nowrap;

    transform: translateY(2px);
}



.pricing-cost
{
    display:none;

    color:red;

    font-weight:bold;

    white-space:nowrap;
}



.pricing-item.selected .pricing-cost
{
    display:block;
}



.price-checkbox
{
    display:none;
}



/* SLIDER */

.slider-container
{
    display:none;

    align-items:center;

    justify-content:center;

    gap:10px;

    margin-top:12px;
}

.pricing-item.selected .slider-container
{
    display:flex;
}



.price-slider
{
    width:180px;

    height:6px;
}




/* PLUS MINUS */

.pricing-controls
{
    display:none;

    justify-content:center;

    align-items:center;

    gap:20px;

    margin-top:12px;

    height:36px;
}


.pricing-item.selected .pricing-controls
{
    display:flex;
}



.pricing-controls button
{
    width:30px;

    height:30px;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:0;

    background:#222;

    color:white;

    border:1px solid #555;

    cursor:pointer;

    line-height:1;

    font-size:18px;
}

.pricing-controls button:hover
{
    border-color:red;
}

@media (max-width: 600px)
{
    .banner
    {
        height: 160px;
    }

    .commission-card
{
    flex-direction:column;

    align-items:stretch;

    gap:20px;
}

.commission-actions
{
    margin-left:0;

    justify-content:center;
}

    .banner-text
    {
        width: 100%;

        left: 50%;
        top: 50%;

        font-size: clamp(22px, 9vw, 45px);

        white-space: normal;

        text-align: center;

        line-height: 0.85;

        transform: translate(-50%, -50%) scaleY(1.15);
    }


    .navbar
    {
        flex-direction: column;

        align-items: center;

        gap: 10px;

        padding: 10px;
    }


    .navbar a
    {
        width: 80%;

        text-align: center;

        padding: 10px;
    }


    .content
    {
        padding: 20px;
    }

    .footer-links
    {
        flex-direction: column;

        align-items: center;
    }


    .footer-links a
    {
        width: 70%;
    }


    .footer-panels
    {
        flex-direction: column;

        align-items: center;
    }


    .footer-panel
    {
        width: 75%;
    }


    .footer-header h2
    {
        font-size: 28px;
    }

    .image-grid
    {
        grid-template-columns: 1fr;
        width: 90%;
    }

    .about-text
    {

        width: 85%;

        padding: 20px;

        font-size: 1.1rem;

    }

}

.admin-save-button
{
    background-color:#222;

    color:white;

    border:2px solid white;

    border-radius:5px;

    padding:12px 40px;

    font-size:18px;

    cursor:pointer;

    transition:0.2s;
}


.admin-save-button:hover
{
    background-color:white;

    color:black;
}

/* =========================
   PRICING SLIDER STYLE
========================= */


.price-slider
{
    -webkit-appearance: none;
    appearance: none;

    width: 180px;
    height: 8px;

    background: #333;

    border: 1px solid #555;

    border-radius: 10px;

    outline: none;

    cursor: pointer;
}


/* Chrome / Edge slider bar */

.price-slider::-webkit-slider-runnable-track
{
    height: 8px;

    background: #333;

    border-radius: 10px;
}


/* Chrome / Edge slider handle */

.price-slider::-webkit-slider-thumb
{
    -webkit-appearance: none;

    width: 22px;
    height: 22px;

    margin-top: -7px;

    background: red;

    border: 2px solid white;

    border-radius: 50%;

    cursor: pointer;

    box-shadow:
        0 0 8px rgba(255,0,0,0.8);

    transition:0.15s;
}


.price-slider::-webkit-slider-thumb:hover
{
    transform:scale(1.2);

    box-shadow:
        0 0 12px red;
}


/* Firefox */

.price-slider::-moz-range-track
{
    height:8px;

    background:#333;

    border-radius:10px;
}


.price-slider::-moz-range-thumb
{
    width:22px;
    height:22px;

    background:red;

    border:2px solid white;

    border-radius:50%;

    cursor:pointer;

    box-shadow:
        0 0 8px rgba(255,0,0,0.8);
}



/* =========================
   COUNTER BUTTON STYLE
========================= */


.pricing-controls button
{
    width:38px;

    height:38px;


    display:flex;

    align-items:center;

    justify-content:center;


    background:#222;

    color:white;


    border:2px solid #555;

    border-radius:6px;


    font-size:24px;

    font-weight:bold;


    line-height:1;


    cursor:pointer;


    transition:
        0.15s;
}



.pricing-controls button:hover
{
    background:#333;

    border-color:red;

    color:red;


    box-shadow:
        0 0 8px rgba(255,0,0,0.5);
}



.pricing-controls button:active
{
    transform:scale(0.9);

    background:#111;
}


/* Counter number */

.amount-value
{
    display:flex;

    align-items:center;

    justify-content:center;

    min-width:30px;

    height:38px;

    font-size:20px;

    line-height:1;

    color:white;

    text-align:center;
}

/* =========================
   PRICE CHANGER EDITOR
========================= */


#pricing-editor
{
    width:90%;

    max-width:1000px;

    margin:auto;

    display:flex;

    flex-direction:column;

    gap:15px;
}



.editor-row
{
    display:flex;

    align-items:center;

    justify-content:center;

    gap:15px;

    flex-wrap:wrap;

    background:#151515;

    border:2px solid #444;

    border-radius:8px;

    padding:15px;

    color:white;

}



.editor-row input,
.editor-row select
{
    background:#222;

    color:white;

    border:2px solid #555;

    border-radius:5px;

    padding:10px;

    font-size:16px;

}



.editor-row input:focus,
.editor-row select:focus
{
    outline:none;

    border-color:red;
}



.editor-name
{
    width:250px;
}



.editor-row input[type="number"]
{
    width:80px;
}



.editor-row select
{
    cursor:pointer;
}



.editor-remove
{
    width:35px;

    height:35px;

    background:#222;

    color:white;

    border:2px solid #555;

    border-radius:5px;

    font-size:22px;

    line-height:1;

    cursor:pointer;

    display:flex;

    align-items:center;

    justify-content:center;

}



.editor-remove:hover
{
    background:red;

    border-color:white;
}



.editor-add
{
    align-self:center;

    background:#222;

    color:white;

    border:2px solid white;

    border-radius:5px;

    padding:12px 30px;

    font-size:18px;

    cursor:pointer;

}



.editor-add:hover
{
    background:white;

    color:black;
}



.pricing-section
{
    font-family:"Halo";

    color:red;

    font-size:30px;

    text-align:center;

    margin:30px 0 10px 0;

}

/* =========================
   PRICE CHANGER EDITOR
========================= */


.price-editor-row
{
    display:flex;

    align-items:center;

    justify-content:flex-start;

    gap:15px;

    flex-wrap:wrap;

    background:#151515;

    border:2px solid #444;

    border-radius:8px;

    padding:15px 25px;

    color:white;
}



.price-editor-row input,
.price-editor-row select
{
    background:#222;

    color:white;

    border:2px solid #555;

    border-radius:5px;

    padding:10px;

    font-size:16px;
}



.price-editor-row input:focus,
.price-editor-row select:focus
{
    outline:none;

    border-color:red;
}



.price-editor-row .editor-name
{
    width:250px;
}



.price-editor-row input[type="number"]
{
    width:80px;
}



.price-editor-row select
{
    cursor:pointer;
}

.amountslider-name
{
    display:block;

    width:100%;

    height:80px;

    box-sizing:border-box;

    background-color:#181818;

    color:white;

    border:2px solid #444;

    border-radius:6px;

    padding:10px;

    font-family:Arial,sans-serif;

    font-size:16px;

    resize:none;

    outline:none;

    transition:0.2s;
}


.amountslider-name:hover
{
    border-color:#666;
}


.amountslider-name:focus
{
    border-color:red;

    box-shadow:
    0 0 10px rgba(255,0,0,0.4);

    background-color:#1b1b1b;
}



.amountslider-container
{
    display:none;

    margin-top:10px;
}


.pricing-item.selected .amountslider-container
{
    display:block;
}



.amountslider-entry
{
    margin-top:14px;

    display:flex;

    flex-direction:column;

    gap:1px;
}



.amountslider-slider-row
{
    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;
}

.receipt-button
{
    width:50px;

    height:50px;

    padding:0;

    background-color:#222;

    border:2px solid white;

    border-radius:5px;

    display:flex;

    align-items:center;

    justify-content:center;

    cursor:pointer;

    transition:0.2s;
}


.receipt-button img
{
    width:40px;

    height:40px;

    object-fit:contain;
}


.receipt-button:hover
{
    background-color:white;

    border-color:white;
}


.receipt-button:hover
{
    background-color:white;

    border-color:white;
}


.receipt-button:active
{
    transform:scale(0.9);
}

.pricing-action-buttons
{
    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    width:100%;
}

.commission-images
{
    display:flex;
    flex-direction:column;
    gap:20px;
}


.commission-image
{
    max-width:100%;
    border:2px solid red;
}

.ip-ban-form
{
    display:flex;

    justify-content:center;

    align-items:center;

    width:100%;
}


.ip-ban-form form
{
    display:flex;

    flex-direction:column;

    align-items:center;

    gap:20px;

    width:100%;
}


.ip-ban-form button
{
    background-color:#222;

    color:white;

    border:2px solid white;

    border-radius:5px;

    padding:12px 40px;

    font-size:18px;

    cursor:pointer;

    transition:0.2s;
}


.ip-ban-form button:hover
{
    background-color:white;

    color:black;
}

.admin-button
{
    background-color:#222;

    color:white;

    border:2px solid white;

    border-radius:5px;

    padding:9px 30px;

    font-size:18px;

    cursor:pointer;

    transition:0.2s;
}


.admin-button:hover
{
    background-color:white;

    color:black;
}


.admin-button:disabled
{
    background-color:#111;

    color:#777;

    border-color:#555;

    cursor:not-allowed;
}