

:root {
    --za-bg:#070716;
    --za-card:#17172f;

    --za-gold:#f5c542;
    --za-gold-dark:#d6a51f;
    --za-purple:#7c3aed;

    --za-white:#ffffff;
    --za-text:#e5e7eb;
    --za-muted:#9ca3af;

    --za-border:rgba(255,255,255,.1);
    --za-radius:22px;
    --za-container:1280px;
}


*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}


/* =========================
   GLOBAL BACKGROUND
========================= */

body {

    background:
        linear-gradient(
            180deg,
            #02010f 0%,
            #050512 50%,
            #02010f 100%
        );

    color: #ffffff;

}


/* ALL PUBLIC SECTIONS */

.za-section {

    background:
        linear-gradient(
            180deg,
            #02010f,
            #050512
        );

}


/* HERO AREA */

.za-hero {

    background:
        linear-gradient(
            135deg,
            #03020f,
            #07071a,
            #03020f
        );

}



a{
    text-decoration:none;
    color:inherit;
}


img{
    max-width:100%;
    display:block;
}



/* =====================
   CONTAINER
===================== */

.za-container{
    width:min(var(--za-container),92%);
    margin:auto;
}



/* =====================
   HEADER
===================== */

.za-header{
    position:sticky;
    top:0;
    z-index:100;

    background:rgba(7,7,22,.85);
    backdrop-filter:blur(18px);

    border-bottom:1px solid var(--za-border);
}


.za-nav{
    height:82px;

    display:flex;
    align-items:center;
    justify-content:space-between;
}


.za-logo{
    display:flex;
    align-items:center;
    gap:12px;
}


.za-logo-mark{
    width:48px;
    height:48px;

    border-radius:16px;

    background:linear-gradient(
        135deg,
        var(--za-gold),
        var(--za-purple)
    );

    display:grid;
    place-items:center;

    color:#111;
    font-weight:900;
}


.za-logo strong{
    display:block;
    color:white;
}


.za-logo small{
    color:var(--za-muted);
}


.za-menu{
    display:flex;
    gap:24px;
}


.za-menu a{
    color:var(--za-muted);
    font-size:14px;
    font-weight:800;
}


.za-menu a:hover,
.za-menu a.active {

    color:var(--za-gold);

}


.za-vote-now{
    background:linear-gradient(
        135deg,
        var(--za-gold),
        var(--za-gold-dark)
    );

    color:#111827;

    padding:13px 18px;

    border-radius:999px;

    font-weight:900;
}



/* =====================
   BUTTONS
===================== */


.btn{
    height:42px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:0 18px;

    border-radius:999px;

    border:none;

    font-weight:900;

    cursor:pointer;
}


.btn-primary{
    background:linear-gradient(
        135deg,
        var(--za-gold),
        var(--za-gold-dark)
    );

    color:#111827;
}


.btn-light{
    background:rgba(255,255,255,.08);

    border:1px solid var(--za-border);

    color:white;
}



/* =====================
   SECTION
===================== */


.za-section,
.section{
    padding:70px 0;
}


.za-hero{
    padding:80px 0 40px;
}


.za-kicker{
    display:inline-flex;

    padding:8px 14px;

    border-radius:999px;

    background:rgba(245,197,66,.12);

    color:var(--za-gold);

    margin-bottom:18px;

    font-weight:900;
}


.za-title{
    font-size:46px;
    color:white;
}


.za-subtitle{
    color:var(--za-muted);
    margin-top:10px;
}



/* =====================
   GRID
===================== */


.grid{
    display:grid;
    gap:25px;
}


.grid-3{
    grid-template-columns:repeat(3,1fr);
}


.grid-4{
    grid-template-columns:repeat(4,1fr);
}



/* =====================
   CARD
===================== */


.card{
    background:linear-gradient(
        180deg,
        rgba(255,255,255,.08),
        rgba(255,255,255,.03)
    );

    border:1px solid var(--za-border);

    border-radius:var(--za-radius);

    overflow:hidden;

    box-shadow:0 25px 70px rgba(0,0,0,.25);
}


.card-body{
    padding:22px;
}


.card-title{
    color:white;

    font-size:20px;

    font-weight:900;
}


.card-text{
    color:var(--za-muted);
}



/* =====================
   HOME CATEGORY CARD
===================== */


.home-category-block{
    display:flex;
    flex-direction:column;

    gap:14px;
}


.home-category-title{

    background:linear-gradient(
        135deg,
        var(--za-gold),
        var(--za-gold-dark)
    );

    color:#111827;

    padding:13px 18px;

    border-radius:999px;

    font-weight:900;

}



.category-card{
    transition:.25s;
}


.category-card:hover{
    transform:translateY(-5px);

    border-color:rgba(245,197,66,.4);
}


.category-image{
    width:100%;

    height:230px;

    object-fit:cover;
}


.category-placeholder{

    height:230px;

    display:grid;

    place-items:center;

    background:linear-gradient(
        135deg,
        var(--za-gold),
        var(--za-purple)
    );

    color:#111;

    font-size:50px;

    font-weight:900;
}




/* =====================
   CATEGORY ACTIONS
===================== */


.category-card-actions{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:12px;

    margin-top:20px;
}



.category-count-box{

    height:40px;

    padding:0 14px;


    display:flex;

    align-items:center;

    gap:6px;


    border-radius:999px;


    background:rgba(255,255,255,.08);


    border:1px solid var(--za-border);


    white-space:nowrap;
}


.count-icon{

    font-size:14px;
}


.count-number{

    color:var(--za-gold);

    font-weight:900;
}


.count-label{

    color:var(--za-muted);

    font-size:13px;

    font-weight:700;
}



/* =====================
   NOMINEE
===================== */


.nominee-image{

    width:100%;

    aspect-ratio:1/1;

    object-fit:cover;
}


.nominee-name{

    color:white;

    font-size:20px;

    font-weight:900;
}


.nominee-stage{

    color:var(--za-gold);

    font-weight:900;
}


.nominee-actions{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:10px;

    margin-top:18px;
}


.vote-count{

    color:var(--za-muted);

    margin-top:8px;
}



/* =====================
   MODAL
===================== */


.vote-modal{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.75);

    display:none;

    align-items:center;

    justify-content:center;

    z-index:999;
}


.vote-modal.open{

    display:flex;
}


.vote-modal-card{

    width:min(460px,92%);

    padding:28px;

    border-radius:26px;

    background:#15152b;
}



/* =====================
   FOOTER
===================== */


.za-footer{

    padding:35px 0;

    text-align:center;

    border-top:1px solid var(--za-border);

    color:var(--za-muted);
}



/* ================================
   NOMINEE DETAILS PAGE
================================ */

.nominee-profile-card {
    overflow: hidden;
}


.nominee-cover {
    width: 100%;
    height: 360px;
    object-fit: cover;
    background: #111827;
}


.nominee-profile-body {
    padding: 32px;
}


.nominee-profile-header {
    display: flex;
    align-items: center;
    gap: 28px;
    flex-wrap: wrap;
}


.nominee-avatar {
    width: 160px;
    height: 160px;
    object-fit: cover;
    border-radius: 28px;

    border: 4px solid rgba(245,197,66,.4);

    box-shadow:
        0 20px 60px rgba(0,0,0,.45);
}


.nominee-avatar-placeholder {
    width: 160px;
    height: 160px;
    border-radius: 28px;

    display: grid;
    place-items: center;

    font-size: 42px;
    font-weight: 900;

    background:
        linear-gradient(
            135deg,
            var(--za-gold),
            var(--za-purple)
        );

    color: #111827;
}


.nominee-profile-info {
    flex: 1;
}


.nominee-profile-name {
    font-size: 46px;
    line-height: 1.1;

    color: var(--za-white);

    font-weight: 900;

    margin-top: 14px;
}


.nominee-stage {

    color: var(--za-gold);

    font-size: 20px;

    font-weight: 900;

    margin-top: 6px;

}


.nominee-meta {

    color: var(--za-muted);

    margin-top: 12px;

    font-size: 15px;

}


.vote-count {

    margin-top: 14px;

    display: inline-flex;

    background: rgba(255,255,255,.08);

    border:1px solid var(--za-border);

    border-radius: 999px;

    padding: 9px 16px;

    color: var(--za-gold);

    font-weight: 900;

}



/* badges */

.nominee-badges {

    margin-top: 25px;

    display: flex;

    flex-wrap: wrap;

    gap: 10px;

}



/* BIO */

.nominee-section {

    margin-top: 35px;

}


.nominee-section-title {

    color: var(--za-white);

    font-size: 22px;

    margin-bottom: 14px;

}


.nominee-bio {

    color: var(--za-muted);

    max-width: 850px;

    font-size: 16px;

    line-height: 1.8;

}



/* SOCIAL BUTTONS */

.social-links {

    display: flex;

    flex-wrap: wrap;

    gap: 12px;

    margin-top: 16px;

}


.social-links a {

    min-width: 120px;

}



/* BIG VOTE BUTTON */

.nominee-main-vote {

    margin-top: 35px;

}


.nominee-main-vote .btn {

    padding: 16px 35px;

    font-size: 17px;

}




/* ================================
   VOTE CONFIRM MODAL
================================ */


.vote-modal {

    position: fixed;

    inset:0;

    background:rgba(0,0,0,.75);

    backdrop-filter: blur(8px);

    display:none;

    justify-content:center;

    align-items:center;

    padding:20px;

    z-index:9999;

}


.vote-modal.open {

    display:flex;

}



.vote-modal-card {

    width:min(460px,100%);

    background:

        linear-gradient(

            180deg,

            #20203d,

            #101020

        );


    border:1px solid var(--za-border);

    border-radius:30px;

    padding:30px;


    box-shadow:

        0 40px 100px rgba(0,0,0,.6);

}



.vote-modal-title {

    font-size:28px;

    font-weight:900;

    color:var(--za-white);

    margin-bottom:15px;

}



.vote-modal-text {

    color:var(--za-muted);

    margin-bottom:10px;

}



.vote-modal-warning {

    margin:25px 0;


    background:rgba(245,197,66,.12);

    border:1px solid rgba(245,197,66,.35);

    color:var(--za-gold);


    padding:16px;

    border-radius:18px;


    font-weight:900;

}



.vote-modal-actions {

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:14px;

}



/* MOBILE */

@media(max-width:700px){


    .nominee-cover {

        height:240px;

    }


    .nominee-profile-header {

        align-items:flex-start;

    }


    .nominee-profile-name {

        font-size:34px;

    }


    .nominee-avatar,
    .nominee-avatar-placeholder {

        width:120px;

        height:120px;

    }


    .vote-modal-actions {

        grid-template-columns:1fr;

    }

}
.nominee-cell{
    display:flex;
    align-items:center;
    gap:12px;
}


.nominee-avatar{
    width:45px;
    height:45px;
    border-radius:14px;
    object-fit:cover;
}


.nominee-full-name{
    display:block;
    color:#0f172a;
    font-size:15px;
    font-weight:800;
}


.nominee-stage-name{
    display:block;
    color:#64748b;
    font-size:13px;
}

.public-logo{
    display:flex;
    align-items:center;
    text-decoration:none;
}


.public-logo img{
    height:55px;
    max-width:180px;
    object-fit:contain;
}


.public-logo span{
    font-size:24px;
    font-weight:800;
    color:#111827;
}

.public-logo {
    height: 52px;
    max-width: 150px;
    object-fit: contain;
    border-radius: 12px;
}

.za-hero {
    padding: 55px 0 20px;
}

.za-section {
    padding: 35px 0 70px;
}

.footer-contact {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 22px;
    flex-wrap: wrap;
}

/* Move public page content closer to the left */
.za-hero .za-container,
.za-section .za-container {
    width: calc(100% - 80px);
    max-width: 1400px;
    margin-left: 80px;
    margin-right: auto;
}

@media (max-width: 900px) {
    .za-hero .za-container,
    .za-section .za-container {
        width: calc(100% - 32px);
        margin-left: 16px;
        margin-right: 16px;
    }
}
/* ==========================
   PUBLIC HEADER ALIGN FIX
   Footer untouched
========================== */

.za-header {

    width: 100%;

}


.za-header .za-container {

    width: calc(100% - 80px);

    max-width: none;

    margin-left: 40px;

    margin-right: 40px;

}



.za-nav {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 40px;

}




/* LOGO LEFT */

.za-logo {

    display: flex;

    align-items: center;

    gap: 14px;

    flex: 1;

}




.public-logo {

    height: 55px;

    max-width: 160px;

    object-fit: contain;

}





/* MENU RIGHT SIDE */

.za-menu {

    display: flex;

    align-items: center;

    justify-content: flex-end;

    gap: 34px;

}




/* VOTE BUTTON FAR RIGHT */

.za-vote-now {

    margin-left: 25px;

    white-space: nowrap;

}




@media(max-width:900px){


    .za-header .za-container {

        width: calc(100% - 30px);

        margin-left:15px;

        margin-right:15px;

    }


    .za-menu {

        gap:15px;

    }


}
/* ==========================================
   CATEGORY TITLE INSIDE NOMINEE CARD - GOLD
========================================== */

.category-title-inside-card {

    padding: 18px 20px;

    text-align: center;

    font-size: 18px;

    font-weight: 900;

    letter-spacing: .4px;

    color: #3a2600;


    background:
        linear-gradient(
            135deg,
            #fff4b8 0%,
            #ffd700 35%,
            #d4a017 70%,
            #fff1a8 100%
        );


    border-bottom: 1px solid rgba(255,215,0,.5);


    text-transform: uppercase;


    box-shadow:
        inset 0 -2px 8px rgba(120,80,0,.25),
        0 4px 12px rgba(212,160,23,.25);

}


/* card image starts after title */
.nominee-card .nominee-image {

    width: 100%;

    height: 260px;

    object-fit: cover;

    display: block;

}


/* card polish */
.nominee-card {

    overflow: hidden;

    border: 1px solid rgba(255,215,0,.25);

}


/* mobile */
@media(max-width:600px){

    .category-title-inside-card {

        font-size: 15px;

        padding: 14px;

    }


    .nominee-card .nominee-image {

        height: 220px;

    }

}.nominee-detail-card {
    overflow: hidden;
    border: 1px solid rgba(255,215,0,.25);
}

.nominee-cover-image {
    width: 100%;
    height: 350px;
    object-fit: cover;
    display: block;
}

.nominee-detail-header {
    display: flex;
    gap: 25px;
    align-items: center;
    flex-wrap: wrap;
}

.nominee-detail-photo {
    width: 150px;
    height: 150px;
    object-fit: cover;
    border-radius: 25px;
    border: 3px solid rgba(255,215,0,.55);
}

.nominee-detail-info {
    flex: 1;
    min-width: 260px;
}

.nominee-detail-title {
    font-size: 38px;
    margin: 4px 0 10px;
}

.nominee-badges,
.social-links-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

@media(max-width:700px) {
    .nominee-cover-image {
        height: 230px;
    }

    .nominee-detail-header {
        text-align: center;
        justify-content: center;
    }

    .nominee-detail-title {
        font-size: 30px;
    }
}
/* =====================================================
   ZONE AWARD CARD RESPONSIVE
   Desktop / Tablet / Mobile
===================================================== */


/* DESKTOP */
@media (min-width:1200px){

    .grid-3 {
        grid-template-columns: repeat(3, 1fr);
        gap: 28px;
    }

    .grid-4 {
        grid-template-columns: repeat(4, 1fr);
        gap: 24px;
    }

    .category-image,
    .nominee-image {
        height: 280px;
    }

}




/* LAPTOP */
@media (max-width:1199px){

    .grid-3 {
        grid-template-columns: repeat(3, 1fr);
        gap: 22px;
    }


    .grid-4 {
        grid-template-columns: repeat(3, 1fr);
        gap: 22px;
    }


    .category-image,
    .nominee-image {
        height: 250px;
    }

}






/* TABLET */
@media (max-width:900px){

    .grid-3,
    .grid-4 {

        grid-template-columns: repeat(2, 1fr);

        gap:20px;

    }


    .category-title-inside-card {

        font-size:16px;

        padding:15px;

    }


    .category-image,
    .nominee-image {

        height:240px;

    }


    .card-title {

        font-size:20px;

    }

}









/* PHONE */
@media (max-width:600px){


    .za-container {

        width: calc(100% - 28px);

        margin-left:auto;

        margin-right:auto;

    }



    .grid-3,
    .grid-4 {

        grid-template-columns:1fr;

        gap:22px;

    }



    .card {

        border-radius:18px;

        overflow:hidden;

    }



    .category-title-inside-card {

        font-size:15px;

        line-height:1.3;

        padding:14px 12px;

    }



    .category-image,
    .nominee-image {

        width:100%;

        height:260px;

        object-fit:cover;

    }



    .card-body {

        padding:18px;

    }




    .category-card-actions,
    .nominee-actions {

        display:flex;

        flex-direction:column;

        gap:12px;

    }



    .category-count-box,
    .category-card-actions .btn,
    .nominee-actions .btn {

        width:100%;

        justify-content:center;

    }



    .za-title {

        font-size:32px;

    }



    .za-subtitle {

        font-size:15px;

    }

}








/* SMALL PHONE */
@media(max-width:380px){


    .category-image,
    .nominee-image {

        height:220px;

    }


    .category-title-inside-card {

        font-size:14px;

    }


    .btn {

        width:100%;

    }

}
/* ================================
   SPONSOR CARD
================================ */

.sponsor-card {

    overflow: hidden;

    border: 1px solid rgba(255,215,0,.25);

}


.sponsor-logo {

    width: 170px;

    height: 110px;

    object-fit: contain;

    display: block;

    margin: 0 auto 22px;

}


/* mobile */
@media(max-width:600px){

    .sponsor-logo {

        width: 140px;

        height: 90px;

    }

}
/* ===============================
   PUBLIC HEADER SIZE UPDATE
================================ */



.site-brand-text small {

    font-size: 14px;

    font-weight: 600;

    opacity: .85;

}


.za-menu a {

    font-size: 18px;

    font-weight: 900;

}


.za-vote-now {

    font-size: 17px;

    font-weight: 900;

}


/* MOBILE */
@media(max-width:700px){


    .site-brand-text {

        display:none;

    }


    .za-menu a {

        font-size:15px;

    }


}

.share-box {
    padding: 18px;
    border: 1px solid rgba(255,215,0,.25);
    border-radius: 18px;
    background: rgba(255,215,0,.06);
}

.share-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.share-btn {
    padding: 11px 16px;
    border-radius: 12px;
    border: 0;
    text-decoration: none;
    font-weight: 900;
    cursor: pointer;
    color: #fff;
}

.share-btn.whatsapp {
    background: #25D366;
}

.share-btn.facebook {
    background: #1877F2;
}

.share-btn.x {
    background: #111;
}

.share-btn.copy-link {
    background: #d4a017;
    color: #111;
}

@media(max-width:600px) {
    .share-actions {
        flex-direction: column;
    }

    .share-btn {
        width: 100%;
        text-align: center;
    }
}

.topbar-search-form {
    flex: 1;
    max-width: 420px;
    display: flex;
    align-items: center;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,215,0,.35);
    border-radius: 999px;
    overflow: hidden;
}

.topbar-search-form input {
    flex: 1;
    height: 46px;
    border: 0;
    outline: none;
    background: transparent;
    color: #fff;
    padding: 0 18px;
    font-size: 14px;
}

.topbar-search-form input::placeholder {
    color: rgba(255,255,255,.65);
}

.topbar-search-form button {
    width: 52px;
    height: 46px;
    border: 0;
    background: #d4a017;
    cursor: pointer;
    font-size: 17px;
}

/* PHONE SEARCH FIX */

.mobile-search-wrap {
    display: none;
}

@media(max-width:700px) {
    .topbar-search-form {
        display: none;
    }

    .mobile-search-wrap {
        display: block;
        width: 100%;
        padding: 14px;
        background: #080808;
        border-bottom: 1px solid rgba(255,215,0,.25);
    }

    .mobile-search-form {
        display: flex;
        width: 100%;
        gap: 8px;
    }

    .mobile-search-form input {
        flex: 1;
        height: 46px;
        border-radius: 12px;
        border: 1px solid rgba(255,215,0,.45);
        background: #111;
        color: #fff;
        padding: 0 12px;
        font-size: 14px;
    }

    .mobile-search-form button {
        height: 46px;
        padding: 0 14px;
        border: 0;
        border-radius: 12px;
        background: #d4a017;
        color: #111;
        font-weight: 900;
        white-space: nowrap;
    }
}

/* ==========================================================
   VOTE STATUS
========================================================== */

.vote-status-message {
    margin: 12px 0 0;
    color: #aeb6ca;
    font-size: 14px;
    line-height: 1.5;
}

.vote-form .btn-success {
    background: #16a34a;
    border-color: #16a34a;
    color: #ffffff;
    cursor: not-allowed;
    opacity: 1;
}

.vote-form.already-voted .vote-status-message {
    color: #86efac;
}

.vote-open-button.voted-button,
.vote-open-button.category-voted-button {
    cursor: not-allowed;
    opacity: 1;
}

.vote-open-button.voted-button {
    background: #16a34a;
    border-color: #16a34a;
    color: #ffffff;
}

.vote-open-button.category-voted-button {
    background: #374151;
    border-color: #4b5563;
    color: #d1d5db;
}

