
/* ============================================================
   VIERES VERDE GLOBAL THEME - ASIMETRICO / NEON
   creado y diseñado por @Jberges
============================================================ */
:root{
    --vv-verde:#9de23c;
    --vv-verde-2:#86c52b;
    --vv-negro:#020302;
    --vv-card:rgba(0,0,0,.68);
    --vv-border:rgba(157,226,60,.32);
    --vv-border-strong:rgba(157,226,60,.78);
    --vv-text:#ffffff;
    --vv-muted:#d5d5d5;
}

html{scroll-behavior:smooth;}
body{
    background:#020302 !important;
    color:#fff !important;
    font-family:Arial, Helvetica, sans-serif !important;
    overflow-x:hidden;
    position:relative;
}
body::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-10;
    pointer-events:none;
    background:
        radial-gradient(circle at 10% 12%, rgba(157,226,60,.20), transparent 27%),
        radial-gradient(circle at 88% 22%, rgba(157,226,60,.13), transparent 25%),
        radial-gradient(circle at 50% 100%, rgba(157,226,60,.10), transparent 36%),
        linear-gradient(180deg,#020302 0%,#000 100%) !important;
}
body::after{
    content:"";
    position:fixed;
    inset:0;
    z-index:-9;
    pointer-events:none;
    opacity:.055;
    background-image:
        linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size:42px 42px;
}
a{transition:.28s ease;}

/* Header publico */
.public-header,
.admin-header{
    background:rgba(0,0,0,.78) !important;
    border-bottom:1px solid rgba(157,226,60,.28) !important;
    backdrop-filter:blur(14px);
    box-shadow:0 12px 32px rgba(0,0,0,.34), 0 0 18px rgba(157,226,60,.08) !important;
}
.header-inner,
.admin-header-inner{
    width:92% !important;
    max-width:1320px !important;
    padding:14px 0 !important;
}
.public-brand img,
.admin-brand img,
.logo-box img{
    border-radius:50% !important;
    filter:drop-shadow(0 0 16px rgba(157,226,60,.34)) !important;
}
.public-brand strong,
.admin-brand strong,
.logo-box h1,
h1,h2,h3{
    text-shadow:0 0 18px rgba(157,226,60,.12);
}
.public-brand strong,
.admin-brand strong{color:var(--vv-verde) !important;}
.public-brand span,
.admin-brand span{color:#d7d7d7 !important;}

.public-nav,
.admin-nav{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    flex-wrap:wrap !important;
}
.public-nav a,
.admin-nav a{
    position:relative;
    color:#fff !important;
    background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.30)) !important;
    border:1px solid rgba(157,226,60,.24) !important;
    padding:10px 14px !important;
    border-radius:999px !important;
    text-decoration:none !important;
    font-weight:900 !important;
    overflow:hidden;
}
.public-nav a:hover,
.public-nav a.active,
.admin-nav a:hover,
.admin-nav a.active{
    color:#071007 !important;
    background:linear-gradient(180deg,var(--vv-verde),var(--vv-verde-2)) !important;
    border-color:rgba(157,226,60,.95) !important;
    box-shadow:0 0 0 1px rgba(157,226,60,.35),0 0 22px rgba(157,226,60,.28) !important;
    transform:translateY(-2px) rotate(-.7deg);
}

/* Contenedores generales */
main, .container, .admin-main, .public-main,
.store-section, .product-section, .cart-section, .concerts-section,
.history-section, .gallery-section, .dashboard-grid, .table-card,
.form-card, .panel-card, .card, .login-card,
.store-hero, .concerts-hero, .history-hero, .cart-hero, .product-detail,
.admin-card, .stat-card, .pedido-card, .section-card{
    border-color:rgba(157,226,60,.26) !important;
    box-shadow:0 18px 44px rgba(0,0,0,.34),0 0 26px rgba(157,226,60,.07) !important;
}

section, .card, .producto-card, .concert-card, .news-card, .admin-card, .stat-card,
.product-card, .cart-card, .history-card, .info-card, .form-card, .table-card,
.pedido-card, .config-card, .slide-card{
    position:relative;
}
.card::before, .producto-card::before, .concert-card::before, .news-card::before,
.admin-card::before, .stat-card::before, .product-card::before, .cart-card::before,
.history-card::before, .info-card::before, .form-card::before, .table-card::before,
.pedido-card::before, .config-card::before, .slide-card::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    border-radius:inherit;
    background:linear-gradient(120deg,transparent,rgba(157,226,60,.07),transparent);
    opacity:.75;
}

/* Asimetria visual */
.product-card:nth-child(odd), .producto-card:nth-child(odd), .concert-card:nth-child(odd),
.news-card:nth-child(odd), .history-card:nth-child(odd), .admin-card:nth-child(odd),
.stat-card:nth-child(odd){transform:translateY(0) rotate(-.35deg);}
.product-card:nth-child(even), .producto-card:nth-child(even), .concert-card:nth-child(even),
.news-card:nth-child(even), .history-card:nth-child(even), .admin-card:nth-child(even),
.stat-card:nth-child(even){transform:translateY(8px) rotate(.35deg);}
.product-card:hover, .producto-card:hover, .concert-card:hover, .news-card:hover,
.history-card:hover, .admin-card:hover, .stat-card:hover, .menu-item:hover{
    border-color:rgba(157,226,60,.90) !important;
    box-shadow:0 0 0 1px rgba(157,226,60,.35),0 0 24px rgba(157,226,60,.22),0 20px 44px rgba(0,0,0,.48) !important;
}

/* Botones */
button, .btn, .btn-main, .btn-primary, .hero-btn-main, .cart-link,
.submit-btn, .action-btn, .form-btn, input[type="submit"]{
    border-radius:999px !important;
    background:linear-gradient(180deg,var(--vv-verde),var(--vv-verde-2)) !important;
    color:#071007 !important;
    border:1px solid rgba(157,226,60,.8) !important;
    font-weight:950 !important;
    box-shadow:0 0 18px rgba(157,226,60,.18) !important;
    text-decoration:none !important;
}
button:hover, .btn:hover, .btn-main:hover, .btn-primary:hover, .hero-btn-main:hover,
.submit-btn:hover, .action-btn:hover, .form-btn:hover, input[type="submit"]:hover{
    transform:translateY(-3px) scale(1.015) !important;
    box-shadow:0 0 30px rgba(157,226,60,.32) !important;
}

/* Formularios y tablas */
input, select, textarea{
    background:rgba(0,0,0,.64) !important;
    color:#fff !important;
    border:1px solid rgba(157,226,60,.24) !important;
    border-radius:14px !important;
    outline:none !important;
}
input:focus, select:focus, textarea:focus{
    border-color:rgba(157,226,60,.95) !important;
    box-shadow:0 0 18px rgba(157,226,60,.18) !important;
}
table{
    border-collapse:separate !important;
    border-spacing:0 8px !important;
}
th{color:var(--vv-verde) !important;}
td, th{border-color:rgba(157,226,60,.12) !important;}
tr{background:rgba(0,0,0,.28);}

/* Footer */
.public-footer, footer, .footer-login{
    background:rgba(0,0,0,.55) !important;
    border-top:1px solid rgba(157,226,60,.25) !important;
    color:#d7d7d7 !important;
    text-align:center !important;
}
.public-footer .copy, footer, .footer-copy, .footer-login{
    color:#cfcfcf !important;
}
.public-footer .copy b, footer b, .footer-copy b{
    color:var(--vv-verde) !important;
}

/* Pagina proximamente */
.vv-coming-wrap{
    min-height:72vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:60px 18px;
}
.vv-coming-card{
    width:100%;
    max-width:760px;
    text-align:center;
    background:linear-gradient(180deg,rgba(0,0,0,.82),rgba(0,0,0,.64));
    border:1px solid rgba(157,226,60,.32);
    border-radius:32px;
    padding:46px 24px;
    box-shadow:0 0 34px rgba(157,226,60,.12),0 26px 70px rgba(0,0,0,.55);
    transform:rotate(-.45deg);
}
.vv-coming-card h1{
    font-size:clamp(36px,8vw,72px);
    color:#fff;
    text-transform:uppercase;
    line-height:.95;
}
.vv-coming-card h2{
    color:var(--vv-verde);
    text-transform:uppercase;
    margin:18px 0 12px;
    font-size:clamp(19px,4vw,34px);
}
.vv-coming-card p{
    color:#e4e4e4;
    font-size:17px;
    max-width:560px;
    margin:0 auto 24px;
    line-height:1.6;
}
.vv-badge-soon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(157,226,60,.55);
    border-radius:999px;
    padding:10px 18px;
    color:#071007;
    background:linear-gradient(180deg,var(--vv-verde),var(--vv-verde-2));
    font-weight:950;
    text-transform:uppercase;
    box-shadow:0 0 22px rgba(157,226,60,.23);
}
@media(max-width:800px){
    .header-inner,.admin-header-inner{flex-direction:column !important; gap:14px !important;}
    .public-nav,.admin-nav{justify-content:center !important;}
    .product-card:nth-child(n), .producto-card:nth-child(n), .concert-card:nth-child(n),
    .news-card:nth-child(n), .history-card:nth-child(n), .admin-card:nth-child(n),
    .stat-card:nth-child(n){transform:none;}
}
