/* ==========================================================
   HollowOakMC Theme v1
========================================================== */

body {
    background: #11161b;
    color: #ffffff;
    font-family: Segoe UI, Tahoma, Geneva, Verdana, sans-serif;
}


/* ==========================
   HOLLOW OAK HERO
========================== */

.hero {
    position: relative;
    margin-bottom: 40px;
    height: 620px;
    border-radius: 18px;
    overflow: hidden;

    background:
        linear-gradient(
            rgba(10, 15, 10, .20),
            rgba(10, 15, 10, .30)
        ),
        url("https://pub-e20f97f65c3147fd8f2a72d5a8502a56.r2.dev/hero.png");

    background-size: cover;
    background-position: center;

    box-shadow: 0 15px 40px rgba(0, 0, 0, .45);
}


/* ==========================
   FAIRY LIGHTS
========================== */

.hero-lights {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 2;
}

.hero-lights span {
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;

    background: #ffe7a3;

    box-shadow:
        0 0 6px #ffe7a3,
        0 0 14px rgba(255, 215, 120, .8),
        0 0 25px rgba(255, 190, 70, .45);

    animation: oakLight 2.8s ease-in-out infinite;
}


/* ==========================
   LIGHT POSITIONS
========================== */

.hero-lights span:nth-child(1) {
    left: 8%;
    top: 25%;
    animation-delay: .2s;
}

.hero-lights span:nth-child(2) {
    left: 17%;
    top: 42%;
    animation-delay: 1.1s;
}

.hero-lights span:nth-child(3) {
    left: 27%;
    top: 18%;
    animation-delay: 1.8s;
}

.hero-lights span:nth-child(4) {
    left: 36%;
    top: 34%;
    animation-delay: .6s;
}

.hero-lights span:nth-child(5) {
    left: 47%;
    top: 15%;
    animation-delay: 1.4s;
}

.hero-lights span:nth-child(6) {
    left: 56%;
    top: 29%;
    animation-delay: .3s;
}

.hero-lights span:nth-child(7) {
    left: 66%;
    top: 19%;
    animation-delay: 2s;
}

.hero-lights span:nth-child(8) {
    left: 75%;
    top: 38%;
    animation-delay: .9s;
}

.hero-lights span:nth-child(9) {
    left: 84%;
    top: 22%;
    animation-delay: 1.6s;
}

.hero-lights span:nth-child(10) {
    left: 91%;
    top: 48%;
    animation-delay: .4s;
}

.hero-lights span:nth-child(11) {
    left: 43%;
    top: 48%;
    animation-delay: 2.2s;
}

.hero-lights span:nth-child(12) {
    left: 62%;
    top: 51%;
    animation-delay: 1s;
}


/* ==========================
   LIGHT ANIMATION
========================== */

@keyframes oakLight {

    0%,
    100% {
        opacity: .35;
        transform: scale(.8);
    }

    50% {
        opacity: 1;
        transform: scale(1.25);
    }
}


/* ==========================
   STORE CONTENT
========================== */

.store-content {
    margin-top: 20px;
}


/* ==========================
   MOBILE
========================== */

@media (max-width: 768px) {

    .hero {
        height: 420px;
        border-radius: 14px;
    }

    .hero-lights span {
        width: 5px;
        height: 5px;
    }
}
/* ==========================
   Server IP
========================== */

.server-ip{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    margin-top:24px;

    padding:14px 24px;

    border-radius:14px;

    cursor:pointer;

    background:rgba(255,255,255,.08);
    border:1px solid #4CAF50;

    color:#fff;

    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);

    transition:all .25s ease;
}

.server-ip:hover{
    background:#4CAF50;
    color:#fff;

    transform:translateY(-2px);

    box-shadow:0 10px 30px rgba(76,175,80,.35);
}

.server-ip span{
    margin-left:10px;
    color:#ddd;
    font-size:13px;
}

/* ==========================
   Hero Buttons
========================== */

.hero-buttons{
    display:flex;
    justify-content:center;
    gap:16px;
    flex-wrap:wrap;

    margin-top:26px;
}

.hero-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    width:280px;
    height:50px;

    border-radius:12px;

    background:rgba(255,255,255,.08) !important;
    border:1px solid #4CAF50 !important;

    color:#ffffff !important;

    font-size:16px;
    font-weight:600;
    white-space:nowrap;

    text-decoration:none;

    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);

    transition:all .25s ease;
}

.hero-btn:hover{
    background:#4CAF50 !important;
    border-color:#4CAF50 !important;
    color:#ffffff !important;

    transform:translateY(-2px);

    box-shadow:0 10px 30px rgba(76,175,80,.35);

    text-decoration:none;
}
/* ===========================
   Navigation
=========================== */

.oak-navbar{

    background:rgba(26,34,39,.88);

    border:none;

    border-radius:18px;

    backdrop-filter:blur(12px);

    margin-bottom:30px;

    box-shadow:0 10px 25px rgba(0,0,0,.30);

}

.oak-navbar .navbar-nav>li>a{

    color:#f5f5f5;

    font-weight:600;

    padding:18px 22px;

    transition:.25s;

}

.oak-navbar .navbar-nav>li>a:hover{

    color:#77dd77;

    background:transparent;

    transform:translateY(-2px);

}

.oak-navbar .navbar-brand{

    color:white;

}

.oak-navbar .dropdown-menu{

    background:#1c2328;

    border:none;

    border-radius:12px;

}

.oak-navbar .dropdown-menu>li>a{

    color:white;

    padding:12px 18px;

}

.oak-navbar .dropdown-menu>li>a:hover{

    background:#2b343a;

    color:#77dd77;

}

.navbar-toggle{

    border:none;

}

.navbar-toggle .icon-bar{

    background:white;

}
.hero{

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(10px);

}

.oak-navbar{

    border:1px solid rgba(255,255,255,.06);

}
.hero{

    transition:.35s;

}

.hero:hover{

    transform:translateY(-3px);

    box-shadow:0 30px 70px rgba(0,0,0,.45);

}
.hero-primary{

    box-shadow:0 0 20px rgba(76,175,80,.35);

}
.hero-title{

    text-shadow:

    0 0 25px rgba(255,255,255,.18);

}
/* ==========================================
   HollowOak Theme - Category Cards
========================================== */

.oak-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:35px;
    margin-top:15px;
}

.oak-card{
    position:relative;
    background:linear-gradient(180deg,#242424,#1a1a1a);
    border:1px solid #335338;
    border-radius:18px;
    overflow:hidden;
    transition:.3s;
    box-shadow:0 12px 30px rgba(0,0,0,.35);
}

.oak-card:hover{
    transform:translateY(-10px);
    border-color:#4CAF50;
    box-shadow:
        0 18px 45px rgba(0,0,0,.45),
        0 0 20px rgba(76,175,80,.35);
}

.oak-card-image{
    position:relative;
    background:#161616;
    min-height:230px;
    display:flex;
    justify-content:center;
    align-items:center;
    overflow:hidden;
}

.oak-image-glow{
    position:absolute;
    width:220px;
    height:220px;
    border-radius:50%;
    background:radial-gradient(circle,
        rgba(76,175,80,.35),
        transparent 70%);
}

.oak-card-image img{
    position:relative;
    z-index:2;
    max-width:75%;
    transition:.35s;
}

.oak-card:hover img{
    transform:scale(1.08);
}

.oak-card-body{
    padding:25px;
    text-align:center;
}

.oak-title{
    font-size:24px;
    font-weight:700;
    color:#fff;
    margin-bottom:18px;
}

.oak-price{
    font-size:28px;
    font-weight:700;
    color:#67d96f;
    margin-bottom:20px;
}

.oak-price span{
    font-size:14px;
    color:#bbb;
    margin-left:5px;
}

.oak-old-price{
    text-decoration:line-through;
    color:#888;
    font-size:18px;
    margin-right:8px;
}

.oak-button{
    width:100%;
    border-radius:10px;
    font-size:16px;
    padding:12px;
    background:#4CAF50;
    border:none;
    transition:.2s;
}

.oak-button:hover{
    background:#63d46d;
}
.oak-description{
    color:#cfcfcf;
    font-size:14px;
    line-height:1.6;
    margin:15px 0 20px;
    min-height:60px;
}

.oak-buttons{
    display:flex;
    gap:10px;
    margin-top:20px;
}

.oak-buttons .btn,
.oak-buttons a{
    flex:1;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    font-weight:600;
    text-decoration:none;
    transition:all .2s ease;
}

/* More Info */
.oak-info-button{
    background:transparent;
    border:1px solid #4CAF50;
    color:#4CAF50;
}

.oak-info-button:hover{
    background:#4CAF50;
    color:#fff;
}

/* Add to Basket */
.oak-buy-button{
    background:transparent;
    border:1px solid #4CAF50;
    color:#4CAF50;
}

.oak-buy-button:hover{
    background:#4CAF50;
    color:#fff;
}
.oak-sale-badge{
    position:absolute;
    top:18px;
    right:18px;
    background:#ff4747;
    color:#fff;
    padding:6px 12px;
    border-radius:30px;
    font-size:12px;
    font-weight:bold;
    z-index:20;
    box-shadow:0 6px 20px rgba(255,71,71,.35);
}
/* ==========================================
   HollowOak Theme - Main Panel
========================================== */

.oak-panel{
    background:transparent;
    border:none;
    box-shadow:none;
    margin-bottom:40px;
}

.oak-panel-body{
    background:#181c1f;
    border:1px solid #2d3338;
    border-radius:20px;
    padding:35px;
}

.oak-category-description{
    color:#d8d8d8;
    font-size:16px;
    line-height:1.8;
    margin-bottom:30px;
    padding-bottom:20px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

/* ---------- Package Modal ---------- */

.modal-content{
    background:#181818;
    border:1px solid #2d5a2d;
    border-radius:14px;
    color:#fff;
}

.oak-modal-header{
    background:#111;
    border-bottom:1px solid #2d5a2d;
    text-align:center;
    padding:25px;
}

.oak-modal-header h2{
    margin:0;
    color:#fff;
    font-weight:700;
}

.oak-modal-price{
    margin-top:12px;
    font-size:30px;
    font-weight:bold;
    color:#4CAF50;
}

.oak-modal-body{
    padding:30px;
    line-height:1.8;
    font-size:16px;
}

.oak-modal-body h1,
.oak-modal-body h2,
.oak-modal-body h3{
    color:#7CFF8C;
}

.oak-modal-body hr{
    border-color:#2d5a2d;
}

.oak-modal-footer{
    border-top:1px solid #2d5a2d;
    padding:20px;
}

.oak-modal-footer .btn{
    min-width:180px;
}

.oak-modal-body ul{
    padding-left:22px;
}

.oak-modal-body li{
    margin-bottom:10px;
}
.oak-modal-footer .btn-secondary {
    background: #2b2b2b;
    border: 1px solid #444;
    color: #fff;
    transition: 0.2s ease;
}

.oak-modal-footer .btn-secondary:hover {
    background: #3b3b3b;
    border-color: #6a8f46;
    color: #fff;
}

.oak-buttons .btn{
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:600;
}

/* ===========================
   Package Page
=========================== */

.oak-package-image{
    text-align:center;
    margin-bottom:30px;
}

.oak-package-image img{
    max-width:260px;
    transition:.3s;
}

.oak-package-image img:hover{
    transform:scale(1.05);
}

.oak-package-page h2{
    text-align:center;
    font-size:42px;
    font-weight:700;
    color:#fff;
    margin-bottom:15px;
}

.oak-package-page .oak-price{
    text-align:center;
    color:#4CAF50;
    font-size:38px;
    font-weight:bold;
    margin-bottom:25px;
}

.oak-checkout-card{
    background:#1b1b1b;
    border:1px solid #335338;
    border-radius:18px;
    box-shadow:0 12px 30px rgba(0,0,0,.35);
}

.oak-checkout-body{
    padding:25px;
}

.oak-checkout-body label{
    color:#ddd;
    font-weight:600;
}

.oak-checkout-body .form-control{
    background:#222;
    border:1px solid #3b3b3b;
    color:#fff;
    border-radius:10px;
    height:48px;
}

.oak-checkout-body .form-control:focus{
    border-color:#4CAF50;
    box-shadow:0 0 10px rgba(76,175,80,.3);
}

.oak-checkout-button{
    height:56px;
    font-size:18px;
    font-weight:700;
    letter-spacing:.3px;
}

.oak-checkout-button:hover{
    background:#4CAF50;
    color:#fff;
}

.oak-package-page hr{
    border-color:#2d5a2d;
}

.oak-rank-intro{
    max-width:700px;
    margin:0 auto 35px;
    text-align:center;
}

.oak-rank-intro p{
    color:#d7d7d7;
    font-size:16px;
    line-height:1.8;
    margin:0;
}

.oak-description h3{
    color:#66d96f;
    font-weight:700;
    margin-top:35px;
    margin-bottom:15px;
}

.oak-basket-panel{
    background:#181c1f;
    border:1px solid #2d5a2d;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 15px 35px rgba(0,0,0,.35);
}

.oak-basket-body{
    padding:30px;
}

.table{
    background:transparent;
    color:#fff;
}

.table thead th{
    border-bottom:1px solid #2d5a2d;
    color:#66d96f;
    font-weight:700;
}

.table tbody td{
    border-top:1px solid rgba(255,255,255,.05);
    vertical-align:middle;
}

.form-control{
    background:#222;
    border:1px solid #3b3b3b;
    color:#fff;
    border-radius:10px;
    height:46px;
}

.form-control:focus{
    border-color:#4CAF50;
    box-shadow:0 0 10px rgba(76,175,80,.25);
}

.gateways .btn{
    border-radius:10px;
    border:1px solid #4CAF50;
    background:transparent;
    color:#4CAF50;
    transition:.2s;
}

.gateways .btn:hover{
    background:#4CAF50;
    color:#fff;
}

/* ---------- Basket Improvements ---------- */

.quantity input{
    width:60px;
    height:36px;
    background:#222;
    border:1px solid #3b3b3b;
    color:#fff;
    border-radius:8px;
    text-align:center;
    margin-right:6px;
}

.btn-quantity{
    background:transparent;
    border:1px solid #4CAF50;
    color:#4CAF50;
    border-radius:8px;
    padding:7px 12px;
    transition:.2s;
}

.btn-quantity:hover{
    background:#4CAF50;
    color:#fff;
}

.btn-danger{
    background:#7a2d2d;
    border:1px solid #b94444;
    color:#fff;
    border-radius:8px;
}

.btn-danger:hover{
    background:#b94444;
}

.gateways input[type="radio"]{
    accent-color:#4CAF50;
}

.table tbody tr{
    background:#222;
}

.table tbody tr:hover{
    background:#2a2a2a;
}

input[type="checkbox"]{
    accent-color:#4CAF50;
}

/* Basket Table */

.table{
    background:transparent !important;
}

.table-striped > tbody > tr{
    background:#202325 !important;
}

.table-striped > tbody > tr:nth-of-type(odd){
    background:#202325 !important;
}

.table-striped > tbody > tr:nth-of-type(even){
    background:#202325 !important;
}

.table > tbody > tr > td{
    background:#202325 !important;
    color:#fff !important;
    border-top:1px solid #2d5a2d;
}

.table > thead > tr > th{
    background:#181c1f !important;
}

/* Checkout Button */

.oak-checkout-button,
.oak-checkout-button:focus{
    background:transparent !important;
    border:1px solid #4CAF50 !important;
    color:#4CAF50 !important;
    border-radius:10px;
    height:52px;
    font-weight:600;
    transition:.2s;
}

.oak-checkout-button:hover{
    background:#4CAF50 !important;
    color:#fff !important;
}

.oak-checkout-button:disabled,
.oak-checkout-button.disabled,
.oak-checkout-button[disabled]{
    background:#2a2a2a !important;
    border:1px solid #555 !important;
    color:#777 !important;
    cursor:not-allowed;
    opacity:1 !important;
}

/* ---------- Minecraft Edition Selector ---------- */

.edition-btn {
    flex: 1;
    padding: 12px 15px;
    border: 1px solid #444;
    border-radius: 8px;
    background: #202325;
    color: #ffffff;
    font-weight: 700;
    cursor: pointer;
    transition: .2s;
}

.edition-btn:hover {
    border-color: #4CAF50;
    color: #4CAF50;
}

.edition-btn.selected {
    background: #4CAF50;
    border-color: #4CAF50;
    color: #fff;
}

/* Payment Gateway Buttons */

.gateways .radio{
    margin-bottom:12px;
}

.gateways label{
    display:flex;
    align-items:center;
    gap:10px;
    cursor:pointer;
    width:100%;
}

.gateways .btn{
    min-width:90px;
    background:transparent !important;
    border:1px solid #4CAF50 !important;
    color:#4CAF50 !important;
    border-radius:10px;
    transition:.2s;
    box-shadow:none;
}

.gateways .btn:hover{
    background:#4CAF50 !important;
    color:#fff !important;
}

/* Disabled Inputs (Minecraft Username) */

.form-control[disabled],
.form-control[readonly],
input[disabled],
input[readonly]{
    background:#222 !important;
    color:#fff !important;
    border:1px solid #3b3b3b !important;
    opacity:1 !important;
    cursor:not-allowed;
}

.form-control[disabled]::placeholder{
    color:#888;
}

.hero-title{
    font-size:72px;
    font-weight:800;
    color:#fff;
    letter-spacing:-2px;
    margin-bottom:15px;
    text-shadow:0 4px 20px rgba(0,0,0,.35);
}

.hero-subtitle{
    font-size:24px;
    color:#e6e6e6;
    margin-bottom:15px;
}

.hero-tagline{
    font-size:18px;
    color:#b9c2bc;
    margin-bottom:35px;
}

.server-ip{
    display:inline-block;
    padding:16px 28px;
    margin-bottom:35px;
    background:rgba(30,40,30,.75);
    border:1px solid #4CAF50;
    border-radius:14px;
    color:#fff;
    font-weight:600;
    cursor:pointer;
    transition:.25s;
}

.server-ip span{
    color:#b8b8b8;
    font-size:14px;
    margin-left:6px;
}

.server-ip:hover{
    background:#4CAF50;
    color:#fff;
}

.server-ip:hover span{
    color:#fff;
}

.hero-buttons{
    display:flex;
    justify-content:center;
    gap:18px;
    flex-wrap:wrap;
}

.hero-btn{
    min-width:220px;
    padding:16px 30px;
    border-radius:12px;
    font-size:17px;
    font-weight:600;
    transition:.25s;
}

.hero-primary{
    background:#4CAF50;
    color:#fff;
    border:none;
}

.hero-primary:hover{
    background:#62d46c;
    color:#fff;
}

.hero-secondary{
    background:rgba(255,255,255,.08);
    color:#fff;
    border:1px solid rgba(255,255,255,.15);
}

.hero-secondary:hover{
    background:#fff;
    color:#111;
}

.oak-home-section{
    background:#181c1f;
    border:1px solid #2d5a2d;
    border-radius:18px;
    padding:60px;
    text-align:center;
    margin-top:35px;
}

.oak-home-section h2{
    color:#fff;
    font-size:42px;
    margin-bottom:25px;
}

.oak-home-section p{
    max-width:850px;
    margin:auto;
    color:#d5d5d5;
    line-height:1.9;
    font-size:18px;
}

.hero-logo{
    margin-bottom:35px;
}

.hero-logo img{
    width:520px;
    max-width:90%;
    height:auto;
    filter:drop-shadow(0 10px 30px rgba(0,0,0,.45));
    transition:.3s;
}

.hero-logo img:hover{
    transform:scale(1.03);
}

.featured-section{
    padding:70px 0;
}

.featured-section h2{
    text-align:center;
    margin-bottom:10px;
}

.featured-section p{
    text-align:center;
    opacity:.8;
}

.featured-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;
    margin-top:40px;
}

.featured-card{
    position:relative;
    overflow:hidden;

    background:linear-gradient(
        180deg,
        rgba(255,255,255,.08) 0%,
        rgba(255,255,255,.03) 100%
    );

    border:1px solid rgba(255,255,255,.10);
    border-radius:20px;

    box-shadow:
        0 15px 40px rgba(0,0,0,.45);

    transition:all .35s ease;
}

.featured-card:hover{
    transform:translateY(-8px);
    border-color:rgba(120,255,160,.45);

    box-shadow:
        0 20px 45px rgba(0,0,0,.45),
        0 0 30px rgba(95,255,95,.08),
        inset 0 1px 0 rgba(255,255,255,.12);
}

.featured-card img{
    width:100%;
    height:300px;
    object-fit:cover;
}

.featured-card h3{
    padding:20px 20px 8px;
    font-size:22px;
    font-weight:600;
    color:#ffffff;
    line-height:1.3;
}

.featured-card p{
    padding:0 20px 25px;
    text-align:left;
}

.featured-card{
    position: relative;
    overflow: hidden;
}

.featured-card::before{
    content: "";
    position: absolute;
    top: 0;
    left: -150%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        75deg,
        transparent,
        rgba(255,255,255,.08),
        rgba(255,255,255,.18),
        rgba(255,255,255,.08),
        transparent
    );
    transform: skewX(-20deg);
    transition: .8s ease;
}

.featured-card:hover::before{
    left: 170%;
}

.featured-card::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        135deg,
        rgba(255,255,255,.12) 0%,
        rgba(255,255,255,.03) 30%,
        transparent 60%
    );
    pointer-events:none;
}

.glass-nav{
    width:100%;
    margin:15px 0 8px;
    position:relative;
    z-index:100;
}

.glass-nav-inner{
    display:flex;
    align-items:center;
    gap:8px;

    min-height:78px;
    padding:0 28px;

    position:relative;
    overflow:hidden;

    background:linear-gradient(
        180deg,
        rgba(42,48,45,.78) 0%,
        rgba(20,24,22,.68) 100%
    );

    backdrop-filter:blur(24px) saturate(180%);
    -webkit-backdrop-filter:blur(24px) saturate(180%);

    border:1px solid rgba(255,255,255,.10);
    border-radius:24px;

    box-shadow:
        0 20px 45px rgba(0,0,0,.40),
        inset 0 1px 0 rgba(255,255,255,.15),
        inset 0 -1px 0 rgba(0,0,0,.30);
}

.glass-nav-inner::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:50%;

    background:linear-gradient(
        180deg,
        rgba(255,255,255,.10),
        rgba(255,255,255,0)
    );

    pointer-events:none;
}

.glass-nav-inner::after{
    content:"";
    position:absolute;
    top:-100%;
    left:-60%;
    width:45%;
    height:300%;

    background:linear-gradient(
        75deg,
        transparent,
        rgba(255,255,255,.10),
        transparent
    );

    transform:rotate(18deg);
}

.nav-link{
    color:#ECECEC;
    text-decoration:none;
    padding:12px 18px;
    border-radius:12px;
    font-weight:600;
    transition:all .25s ease;
}

.nav-link:hover{
    background:rgba(255,255,255,.06);
    color:#7CFF9C;
}

.nav-link.active{
    background:rgba(124,255,156,.12);
    color:#7CFF9C;
}

.nav-spacer{
    flex:1;
}

/* ---------- Login Page ---------- */

.oak-login-panel{
    max-width:700px;
    margin:50px auto;
    background:#1d232b;
    border:2px solid #2d7a45;
    border-radius:18px;
    box-shadow:0 0 25px rgba(0,0,0,.45);
}

.oak-login-body{
    padding:45px;
}

.oak-login-title{
    color:#FFD86B;
    font-size:40px;
    font-weight:800;
    margin-bottom:15px;
}

.oak-login-subtitle{
    color:#d4d4d4;
    font-size:18px;
    line-height:1.8;
    max-width:560px;
    margin:0 auto 35px;
}

.oak-login-label{
    display:block;
    color:#8ddf7b;
    font-size:18px;
    margin-bottom:10px;
    font-weight:bold;
}

.oak-login-input{
    height:55px;
    font-size:18px;
    border-radius:12px;
    border:2px solid #3a444f;
}

.oak-login-button{
    width:100%;
    background:#2f8d46;
    border:none;
    color:#fff;
    font-size:20px;
    font-weight:700;
    padding:15px;
    border-radius:12px;
    transition:.25s;
}

.oak-login-button:hover{
    background:#3faa59;
    transform:translateY(-2px);
}

.oak-change-name{
    color:#8ddf7b;
    font-weight:bold;
}

.oak-change-name:hover{
    color:#b5f5a4;
    text-decoration:none;
}

.featured-card{
    position:relative;
    overflow:hidden;
}

.sale-ribbon{
    position:absolute;
    top:18px;
    left:-42px;

    width:150px;

    background:#43b047;
    color:#fff;

    text-align:center;
    font-weight:700;
    font-size:14px;

    padding:8px 0;

    transform:rotate(-45deg);

    z-index:20;

    box-shadow:0 5px 15px rgba(0,0,0,.35);
}


/* ==========================================
   Mobile Menu Title
========================================== */

/* Hidden on desktop */
.mobile-menu-title{
    display:none;
}

/* Mobile only */
@media (max-width:767px){

    .navbar-header{
        display:flex;
        align-items:center;
        justify-content:space-between;
        padding:0 18px;
        min-height:64px;
    }

    .mobile-menu-title{
        display:block;
        color:#ffffff;
        font-size:18px;
        font-weight:700;
        letter-spacing:.3px;
    }

    .navbar-toggle{
        margin:0;
    }

}

/* ==========================
   HOLLOW OAK HERO
========================== */

.hero{
    position:relative;
    margin-bottom:40px;
    padding:35px 20px 55px;
    border-radius:18px;
    overflow:hidden;
    text-align:center;

    background:
        linear-gradient(
            rgba(10,15,10,.30),
            rgba(10,15,10,.40)
        ),
        url("https://pub-e20f97f65c3147fd8f2a72d5a8502a56.r2.dev/hero.png");

    background-size:cover;
    background-position:center;

    box-shadow:0 15px 40px rgba(0,0,0,.45);
}


/* ==========================
   HERO CONTENT
========================== */

.hero-content{
    position:relative;
    z-index:2;
}


/* ==========================
   LOGO
========================== */

.hero-logo img{
    max-width:360px;
    width:100%;
    height:auto;
    transition:.35s;
}

.hero-logo img:hover{
    transform:scale(1.03);
}


/* ==========================
   HERO TEXT
========================== */

.hero-subtitle{
    margin-top:10px;
    font-size:18px;
    font-weight:600;
    color:#ffffff;
    text-shadow:0 2px 8px rgba(0,0,0,.8);
}

.hero-tagline{
    margin-top:8px;
    color:#eeeeee;
    font-size:16px;
    text-shadow:0 2px 8px rgba(0,0,0,.8);
}


/* ==========================
   FAIRY LIGHTS
========================== */

.hero-lights{
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:1;
}

.hero-lights span{
    position:absolute;

    width:7px;
    height:7px;

    border-radius:50%;

    background:#ffe7a3;

    box-shadow:
        0 0 6px #ffe7a3,
        0 0 14px rgba(255,215,120,.8),
        0 0 25px rgba(255,190,70,.45);

    animation:oakLight 2.8s ease-in-out infinite;
}


/* Light positions */

.hero-lights span:nth-child(1){
    left:8%;
    top:25%;
    animation-delay:.2s;
}

.hero-lights span:nth-child(2){
    left:17%;
    top:42%;
    animation-delay:1.1s;
}

.hero-lights span:nth-child(3){
    left:27%;
    top:18%;
    animation-delay:1.8s;
}

.hero-lights span:nth-child(4){
    left:36%;
    top:34%;
    animation-delay:.6s;
}

.hero-lights span:nth-child(5){
    left:47%;
    top:15%;
    animation-delay:1.4s;
}

.hero-lights span:nth-child(6){
    left:56%;
    top:29%;
    animation-delay:.3s;
}

.hero-lights span:nth-child(7){
    left:66%;
    top:19%;
    animation-delay:2s;
}

.hero-lights span:nth-child(8){
    left:75%;
    top:38%;
    animation-delay:.9s;
}

.hero-lights span:nth-child(9){
    left:84%;
    top:22%;
    animation-delay:1.6s;
}

.hero-lights span:nth-child(10){
    left:91%;
    top:48%;
    animation-delay:.4s;
}

.hero-lights span:nth-child(11){
    left:43%;
    top:48%;
    animation-delay:2.2s;
}

.hero-lights span:nth-child(12){
    left:62%;
    top:51%;
    animation-delay:1s;
}


/* ==========================
   LIGHT ANIMATION
========================== */

@keyframes oakLight{

    0%,
    100%{
        opacity:.45;
        transform:scale(.8);
    }

    50%{
        opacity:1;
        transform:scale(1.25);
    }

}


/* ==========================
   WELCOME SECTION
========================== */

.welcome-section{
    margin-bottom:40px;
    text-align:center;
}

.welcome-section h2{
    color:#ffffff;
    margin-bottom:12px;
}

.welcome-section p{
    max-width:850px;
    margin:0 auto;
    color:#d0d0d0;
    line-height:1.7;
}


/* ==========================
   MOBILE
========================== */

@media (max-width: 768px) {

    /* HERO */
    .hero {
        padding: 25px 15px 35px;
        border-radius: 14px;
        min-height: auto;
    }

    .hero-logo img {
        max-width: 240px;
        width: 80%;
        height: auto;
    }

    .hero-subtitle {
        font-size: 15px;
        line-height: 1.4;
        margin-top: 12px;
    }

    .hero-tagline {
        font-size: 13px;
        line-height: 1.4;
    }

    .hero-lights span {
        width: 5px;
        height: 5px;
    }


    /* GENERAL PAGE SPACING */
    .container,
    .content,
    .main-content {
        padding-left: 12px;
        padding-right: 12px;
    }


    /* MENU */
    .menu {
        margin: 15px 0;
        padding: 16px 20px;
    }


    /* STORE / PACKAGES */
    .packages,
    .products,
    .store-items {
        width: 100%;
    }

    .package,
    .product,
    .store-item {
        width: 100%;
        margin-bottom: 12px;
    }


    /* TABLES */
    table {
        width: 100%;
        font-size: 13px;
    }

    th,
    td {
        padding: 8px 6px;
    }


    /* BUTTONS */
    button,
    .button,
    .btn {
        max-width: 100%;
    }


    /* ALERTS */
    .alert,
    .error,
    .message {
        margin-left: 0;
        margin-right: 0;
        font-size: 14px;
        padding: 12px 15px;
    }
}

/* ---------- Minecraft Edition Selector ---------- */

.edition-selector {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
}

.edition-btn {
    flex: 1;
    padding: 12px 15px;
    border: 1px solid #444;
    border-radius: 8px;
    background: #202325;
    color: #ffffff;
    font-weight: 700;
    cursor: pointer;
    transition: .2s;
}

.edition-btn:hover {
    border-color: #4CAF50;
    color: #4CAF50;
}

.edition-btn.selected {
    background: #4CAF50;
    border-color: #4CAF50;
    color: #ffffff;
}

.username-wrapper {
    display: flex;
    align-items: stretch;
}

.bedrock-prefix {
    display: none;
    align-items: center;
    padding: 0 12px;
    background: #222;
    border: 1px solid #3b3b3b;
    border-right: none;
    border-radius: 8px 0 0 8px;
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
}

.username-wrapper .oak-login-input {
    border-radius: 8px;
}

/* ==========================================================
   HOLLOW OAK - MOBILE OPTIMISATION
   Add this at the VERY END of the CSS
========================================================== */

@media (max-width: 767px) {

    /* ==========================
       PAGE / CONTAINER
    ========================== */

    body {
        overflow-x: hidden;
    }

    .container {
        width: 100%;
        padding-left: 12px;
        padding-right: 12px;
    }


    /* ==========================
       HERO
    ========================== */

    .hero {
        height: auto !important;
        min-height: 0 !important;

        margin-bottom: 20px;

        padding: 28px 15px 30px;

        border-radius: 14px;

        background-position: center center;
    }

    .hero-content {
        width: 100%;
    }


    /* LOGO */

    .hero-logo {
        margin-bottom: 18px;
    }

    .hero-logo img {
        width: 82%;
        max-width: 240px;
        height: auto;
    }


    /* HERO TEXT */

    .hero-subtitle {
        margin-top: 8px;
        margin-bottom: 8px;

        font-size: 17px;
        line-height: 1.35;
    }

    .hero-tagline {
        margin-top: 6px;
        margin-bottom: 18px;

        padding: 0 10px;

        font-size: 14px;
        line-height: 1.45;
    }


    /* ==========================
       SERVER IP
    ========================== */

    .server-ip {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 100%;
        max-width: 320px;

        margin: 0 auto 18px;

        padding: 12px 15px;

        box-sizing: border-box;

        font-size: 14px;
    }

    .server-ip span {
        font-size: 12px;
        margin-left: 6px;
    }


    /* ==========================
       HERO BUTTONS
    ========================== */

    .hero-buttons {
        display: flex;
        flex-direction: column;
        align-items: center;

        gap: 10px;

        width: 100%;
        margin-top: 12px;
    }

    .hero-btn {
        width: 100%;
        max-width: 300px;
        min-width: 0;

        height: 46px;

        padding: 10px 15px;

        font-size: 15px;
        box-sizing: border-box;
    }


    /* ==========================
       NAVIGATION
    ========================== */

    .oak-navbar {
        margin-bottom: 18px;
        border-radius: 16px;
    }

    .navbar-header {
        min-height: 62px;
        padding: 0 16px;
    }

    .mobile-menu-title {
        font-size: 17px;
    }

    .navbar-toggle {
        padding: 9px 10px;
    }

    .navbar-collapse {
        border-top: 1px solid rgba(255,255,255,.08);
    }

    .oak-navbar .navbar-nav {
        margin: 8px 0;
    }

    .oak-navbar .navbar-nav > li > a {
        padding: 12px 18px;
        font-size: 15px;
    }


    /* ==========================
       GLASS NAV
    ========================== */

    .glass-nav {
        margin: 10px 0 8px;
    }

    .glass-nav-inner {
        min-height: 62px;
        padding: 0 16px;

        border-radius: 18px;
    }

    .nav-link {
        padding: 10px 12px;
        font-size: 14px;
    }


    /* ==========================
       WELCOME SECTION
    ========================== */

    .welcome-section {
        margin-bottom: 25px;
        padding: 0 8px;
    }

    .welcome-section h2 {
        font-size: 26px;
        line-height: 1.25;
    }

    .welcome-section p {
        font-size: 14px;
        line-height: 1.6;
    }


    /* ==========================
       FEATURED SECTION
    ========================== */

    .featured-section {
        padding: 35px 0;
    }

    .featured-section h2 {
        font-size: 26px;
    }

    .featured-grid {
        grid-template-columns: 1fr;
        gap: 18px;
        margin-top: 25px;
    }

    .featured-card img {
        height: 220px;
    }

    .featured-card h3 {
        font-size: 19px;
        padding: 16px 16px 6px;
    }

    .featured-card p {
        padding: 0 16px 18px;
        font-size: 14px;
    }


    /* ==========================
       CATEGORY CARDS
    ========================== */

    .oak-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .oak-card-image {
        min-height: 190px;
    }

    .oak-card-body {
        padding: 20px;
    }

    .oak-title {
        font-size: 21px;
        margin-bottom: 12px;
    }

    .oak-price {
        font-size: 25px;
        margin-bottom: 15px;
    }

    .oak-description {
        font-size: 14px;
        min-height: 0;
    }

    .oak-buttons {
        gap: 8px;
    }

    .oak-buttons .btn,
    .oak-buttons a {
        height: 44px;
        font-size: 14px;
    }


    /* ==========================
       MAIN PANELS
    ========================== */

    .oak-panel {
        margin-bottom: 20px;
    }

    .oak-panel-body {
        padding: 18px 14px;
        border-radius: 16px;
    }

    .oak-category-description {
        font-size: 14px;
        line-height: 1.6;
        margin-bottom: 20px;
        padding-bottom: 15px;
    }


    /* ==========================
       HOME SECTION
    ========================== */

    .oak-home-section {
        margin-top: 20px;
        padding: 30px 18px;
        border-radius: 16px;
    }

    .oak-home-section h2 {
        font-size: 28px;
        margin-bottom: 15px;
    }

    .oak-home-section p {
        font-size: 15px;
        line-height: 1.7;
    }


    /* ==========================
       TABLES / BASKET
    ========================== */

    .oak-basket-panel {
        border-radius: 14px;
    }

    .oak-basket-body {
        padding: 15px 10px;
    }

    .table {
        font-size: 13px;
    }

    .table > thead > tr > th,
    .table > tbody > tr > td {
        padding: 8px 6px;
        white-space: nowrap;
    }

    .quantity input {
        width: 48px;
    }


    /* ==========================
       PACKAGE PAGE
    ========================== */

    .oak-package-page h2 {
        font-size: 30px;
        line-height: 1.2;
    }

    .oak-package-page .oak-price {
        font-size: 30px;
    }

    .oak-package-image img {
        max-width: 200px;
        width: 80%;
    }


    /* ==========================
       MODALS
    ========================== */

    .modal-dialog {
        margin: 10px;
    }

    .modal-content {
        border-radius: 14px;
    }

    .oak-modal-header {
        padding: 18px 15px;
    }

    .oak-modal-price {
        font-size: 25px;
    }

    .oak-modal-body {
        padding: 20px 16px;
        font-size: 14px;
        line-height: 1.7;
    }

    .oak-modal-footer {
        padding: 15px;
    }

    .oak-modal-footer .btn {
        width: 100%;
        min-width: 0;
    }


    /* ==========================
       LOGIN
    ========================== */

    .oak-login-panel {
        margin: 25px 0;
        border-radius: 14px;
    }

    .oak-login-body {
        padding: 25px 18px;
    }

    .oak-login-title {
        font-size: 30px;
    }

    .oak-login-subtitle {
        font-size: 15px;
        line-height: 1.6;
    }


    /* ==========================
       EDITION SELECTOR
    ========================== */

    .edition-selector {
        gap: 8px;
    }

    .edition-btn {
        padding: 10px 8px;
        font-size: 13px;
    }
}

/* ==========================================================
   HOLLOW OAK - MOBILE CHECKOUT
========================================================== */

@media (max-width: 767px) {

    /* ==========================
       BASKET PANEL
    ========================== */

    .oak-basket-panel {
        border-radius: 14px;
        margin: 0;
    }

    .oak-basket-body {
        padding: 14px 10px;
    }


    /* ==========================
       BASKET TABLE
    ========================== */

    .oak-basket-body .table {
        width: 100%;
        table-layout: fixed;
        font-size: 11px;
        margin-bottom: 18px;
    }

    .oak-basket-body .table th,
    .oak-basket-body .table td {
        padding: 7px 4px;
        vertical-align: middle;
        white-space: normal;
        word-break: normal;
    }

    /* Name */
    .oak-basket-body .table th:nth-child(1),
    .oak-basket-body .table td:nth-child(1) {
        width: 21%;
    }

    /* Price */
    .oak-basket-body .table th:nth-child(2),
    .oak-basket-body .table td:nth-child(2) {
        width: 15%;
    }

    /* Quantity */
    .oak-basket-body .table th:nth-child(3),
    .oak-basket-body .table td:nth-child(3) {
        width: 23%;
    }

    /* Subtotal */
    .oak-basket-body .table th:nth-child(4),
    .oak-basket-body .table td:nth-child(4) {
        width: 18%;
    }

    /* Options */
    .oak-basket-body .table th:nth-child(5),
    .oak-basket-body .table td:nth-child(5) {
        width: 23%;
    }


    /* TABLE HEADINGS */

    .oak-basket-body .table thead th {
        font-size: 11px;
        line-height: 1.2;
    }


    /* ==========================
       QUANTITY
    ========================== */

    .oak-basket-body .quantity {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 5px;
    }

    .oak-basket-body .quantity input {
        width: 42px;
        height: 32px;
        margin: 0;
        padding: 4px;

        font-size: 12px;
    }

    .oak-basket-body .btn-quantity {
        padding: 5px 8px;
        font-size: 11px;
        white-space: nowrap;
    }


    /* ==========================
       REMOVE BUTTON
    ========================== */

    .oak-basket-body .btn-danger {
        padding: 5px 7px;
        font-size: 11px;
        white-space: nowrap;
    }


    /* ==========================
       PRICE TOTAL
    ========================== */

    .oak-basket-body .text-right {
        font-size: 14px;
    }


    /* ==========================
       COUPON
    ========================== */

    .oak-basket-body .input-group {
        width: 100%;
    }

    .oak-basket-body .input-group .form-control {
        min-width: 0;
        height: 42px;
        font-size: 14px;
    }

    .oak-basket-body .input-group .btn {
        height: 42px;
        padding: 0 13px;
        font-size: 13px;
    }


    /* ==========================
       FORM FIELDS
    ========================== */

    .oak-basket-body .form-control {
        height: 43px;
        font-size: 14px;
        padding: 8px 13px;
    }

    .oak-basket-body label {
        font-size: 14px;
    }


    /* ==========================
       PAYMENT METHODS
    ========================== */

    .gateways {
        width: 100%;
    }

    .gateways .radio {
        margin-bottom: 9px;
    }

    .gateways label {
        gap: 8px;
    }

    .gateways .btn {
        width: 100%;
        min-width: 0;
        height: 42px;
        font-size: 14px;
    }


    /* ==========================
       CHECKOUT BUTTON
    ========================== */

    .oak-checkout-button {
        width: 100%;
        height: 48px;
        font-size: 15px;
    }


    /* ==========================
       EDITION SELECTOR
    ========================== */

    .edition-selector {
        width: 100%;
    }

    .edition-btn {
        padding: 10px 6px;
        font-size: 12px;
    }


    /* ==========================
       DIVIDERS
    ========================== */

    .oak-basket-body hr {
        margin: 18px 0;
    }
}