/* ==========================================================
   RASISALAI UNITED
   Components.css
   UI Components
========================================================== */

/* ==========================================================
   NAVBAR
========================================================== */

.navbar{

    background:rgba(11,31,58,.92);
    backdrop-filter:blur(15px);
    transition:.35s;

}
.navbar.scrolled{

    background:rgba(7,21,40,.98);
    box-shadow:var(--shadow-sm);

}

.navbar-brand{

    display:flex;
    align-items:center;
    gap:12px;

    color:#fff !important;

    font-size:1.2rem;
    font-weight:700;

}

.navbar-brand img{

    width:50px;
    height:50px;
    object-fit:contain;

}

.navbar-nav{

    gap:.35rem;

}

.nav-link{

    position:relative;

    padding:.8rem 1rem !important;

    color:#fff !important;

    font-weight:500;

    border-radius:50px;

    transition:var(--transition);

}

.nav-link:hover{

    color:var(--accent)!important;

    background:rgba(255,255,255,.08);

}

.nav-link.active{

    color:#fff!important;

    background:var(--primary);

}

/* ==========================================================
   HERO
========================================================== */

.hero{

    position:relative;

    min-height:100vh;

    display:flex;

    align-items:center;

    overflow:hidden;

}

.hero-content{

    position:relative;

    z-index:5;

}

.hero-title{

    font-size:clamp(2.5rem,5vw,4.5rem);

    font-weight:700;

    color:#fff;

    margin-bottom:20px;

}

.hero-subtitle{

    color:rgba(255,255,255,.85);

    font-size:1.15rem;

    max-width:700px;

}

.hero-logo{

    width:320px;

    margin:auto;

    animation:float 3s ease-in-out infinite;

}

@keyframes float{

    0%,100%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-12px);

    }

}

/* ==========================================================
   SECTION HEADER
========================================================== */

.section-header{

    margin-bottom:60px;

    text-align:center;

}

.section-header h2{

    font-size:2.4rem;

    font-weight:700;

    margin-bottom:12px;

}

.section-header p{

    color:var(--text-light);

    max-width:650px;

    margin:auto;

}

/* ==========================================================
   CARD
========================================================== */

.card-modern{

    border:none;

    border-radius:18px;

    overflow:hidden;

    background:#fff;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}

.card-modern:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow);

}

.card-image{

    height:220px;

    overflow:hidden;

}

.card-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.5s;

}

.card-modern:hover img{

    transform:scale(1.08);

}

.card-body{

    padding:25px;

}

/* ==========================================================
   PLAYER CARD
========================================================== */

.player-card{

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    text-align:center;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}

.player-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow);

}

.player-photo{

    height:350px;

    overflow:hidden;

}

.player-photo img{

    width:100%;

    height:100%;

    object-fit:cover;

}

.player-name{

    font-size:1.3rem;

    font-weight:700;

}

.player-position{

    color:var(--primary);

    font-weight:500;

}

/* ==========================================================
   NEWS CARD
========================================================== */

.news-card{

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    box-shadow:var(--shadow-sm);

    transition:.3s;

}

.news-card:hover{

    transform:translateY(-8px);

}

.news-date{

    color:var(--primary);

    font-size:.9rem;

    font-weight:600;

}

.news-title{

    font-size:1.2rem;

    font-weight:700;

}

/* ==========================================================
   MATCH CARD
========================================================== */

.match-card{

    background:#fff;

    border-radius:20px;

    padding:25px;

    text-align:center;

    box-shadow:var(--shadow-sm);

}

.club-logo{

    width:80px;

    margin:auto;

}

.match-score{

    font-size:2rem;

    font-weight:700;

    color:var(--primary);

}

/* ==========================================================
   STANDING TABLE
========================================================== */

.standing-table{

    border-radius:18px;

    overflow:hidden;

    background:#fff;

    box-shadow:var(--shadow-sm);

}

.standing-table thead{

    background:var(--secondary);

    color:#fff;

}

.standing-table td,
.standing-table th{

    vertical-align:middle;

}

/* ==========================================================
   BUTTON
========================================================== */

.btn{

    border-radius:50px;

    padding:.85rem 1.8rem;

    font-weight:500;

}

.btn i{

    margin-right:6px;

}

/* ==========================================================
   FORM
========================================================== */

.form-control,
.form-select{

    border-radius:14px;

    border:1px solid var(--border);

    padding:.8rem 1rem;

    box-shadow:none;

}

.form-control:focus,
.form-select:focus{

    border-color:var(--primary);

    box-shadow:0 0 0 .2rem rgba(217,31,38,.15);

}

/* ==========================================================
   SEARCH
========================================================== */

.search-box{

    position:relative;

}

.search-box i{

    position:absolute;

    top:50%;

    left:18px;

    transform:translateY(-50%);

    color:#999;

}

.search-box input{

    padding-left:48px;

}

/* ==========================================================
   PAGINATION
========================================================== */

.pagination .page-link{

    border:none;

    color:var(--secondary);

    margin:0 3px;

    border-radius:10px;

}

.pagination .active .page-link{

    background:var(--primary);

    border-color:var(--primary);

}

/* ==========================================================
   ALERT
========================================================== */

.alert{

    border:none;

    border-radius:15px;

}

/* ==========================================================
   MODAL
========================================================== */

.modal-content{

    border:none;

    border-radius:18px;

}

.modal-header{

    border-bottom:1px solid var(--border);

}

.modal-footer{

    border-top:1px solid var(--border);

}

/* ==========================================================
   FOOTER
========================================================== */

.footer{

    background:var(--secondary);

    color:#fff;

}

.footer-title{

    font-weight:700;

    margin-bottom:18px;

}

.footer a{

    color:#d4d8df;

}

.footer a:hover{

    color:var(--accent);

}

/* ==========================================================
   SOCIAL
========================================================== */

.social-links{

    display:flex;

    gap:12px;

}

.social-links a{

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(255,255,255,.08);

    color:#fff;

    transition:.3s;

}

.social-links a:hover{

    background:var(--primary);

    transform:translateY(-3px);

}

/* ==========================================================
   LOADER
========================================================== */

.loader{

    position:fixed;

    inset:0;

    background:#071528;

    display:flex;

    align-items:center;

    justify-content:center;

    z-index:9999;

}

.loader img{

    width:180px;

    animation:float 2.5s infinite;

}

/* ==========================================================
   BACK TO TOP
========================================================== */

.back-top{

    position:fixed;

    right:25px;

    bottom:25px;

    width:50px;

    height:50px;

    border-radius:50%;

    background:var(--primary);

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    box-shadow:var(--shadow);

    opacity:0;

    visibility:hidden;

    transition:.3s;

    z-index:999;

}

.back-top.show{

    opacity:1;

    visibility:visible;

}

/* ==========================================================
   ANIMATION
========================================================== */

.fade-up{

    opacity:0;

    transform:translateY(30px);

    transition:.8s;

}

.fade-up.show{

    opacity:1;

    transform:none;

}

/* =====================================================
   PARTNER
====================================================== */

.partner-card{

    background:#fff;

    border-radius:18px;

    height:170px;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:30px;

    box-shadow:var(--shadow-sm);

    transition:.35s;

    border:1px solid var(--border);

}

.partner-card:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow);

}

.partner-card img{

    max-width:100%;

    max-height:90px;

    object-fit:contain;

    filter:grayscale(100%);

    opacity:.8;

    transition:.35s;

}

.partner-card:hover img{

    filter:none;

    opacity:1;

}

.partner-card.small{

    height:120px;

    padding:20px;

}

.partner-card.small img{

    max-height:55px;

}
/* ==========================================================
   PRELOADER
========================================================== */
/* ==========================================
   PRELOADER
========================================== */

/* ==========================================================
   PRELOADER
========================================================== */

#preloader{

    position:fixed;
    inset:0;

    display:flex;
    align-items:center;
    justify-content:center;

    z-index:999999;

    background:
    linear-gradient(
        135deg,
        #071528 0%,
        #0b1f3a 45%,
        #d91f26 100%
    );

    transition:
        opacity .6s ease,
        visibility .6s ease;

}

#preloader.hide{

    opacity:0;
    visibility:hidden;
    pointer-events:none;

}

.preloader-box{

    width:430px;
    max-width:90%;

    text-align:center;

    color:#fff;

}

.preloader-logo{

    width:170px;

    margin:0 auto 25px;

    animation:floatLogo 3s ease-in-out infinite;

    filter:
        drop-shadow(0 12px 30px rgba(0,0,0,.35))
        drop-shadow(0 0 15px rgba(255,255,255,.12));

}

.preloader-box h2{

    margin-bottom:8px;

    font-size:2rem;

    font-weight:700;

    letter-spacing:1px;

}

.preloader-box p{

    margin-bottom:30px;

    font-size:.95rem;

    letter-spacing:3px;

    color:rgba(255,255,255,.75);

}

.loading-bar{

    position:relative;

    width:100%;

    height:10px;

    overflow:hidden;

    border-radius:30px;

    background:rgba(255,255,255,.15);

}

.loading-progress{

    position:relative;

    width:0;

    height:100%;

    overflow:hidden;

    border-radius:30px;

    background:
    linear-gradient(
        90deg,
        #9d1017,
        #d91f26,
        #ff4d57
    );

    transition:width .15s linear;

}

.loading-progress::after{

    content:"";

    position:absolute;

    top:0;
    left:-40px;

    width:40px;
    height:100%;

    background:rgba(255,255,255,.9);

    filter:blur(8px);

    animation:loadingShine 1.2s linear infinite;

}

.loading-percent{

    margin-top:18px;

    font-size:1.05rem;

    font-weight:700;

    letter-spacing:2px;

    color:#fff;

}

/* ==========================
   Animation
========================== */

@keyframes floatLogo{

    0%,100%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-8px);

    }

}

@keyframes loadingShine{

    from{

        transform:translateX(0);

    }

    to{

        transform:translateX(470px);

    }

}