/*==============================================================
    BRELDO SECURITY CENTER
    Enterprise Dark Theme
==============================================================*/

:root{

    /* Background */

    --sc-bg:#070b17;
    --sc-surface:#0c1324;
    --sc-surface-2:#121c31;

    /* Cards */

    --sc-card:#141f35;
    --sc-card-hover:#192844;

    /* Border */

    --sc-border:#243552;
    --sc-border-light:#31466c;

    /* Brand */

    --sc-primary:#2f6df6;
    --sc-primary-hover:#4f88ff;

    /* Text */

    --sc-title:#ffffff;
    --sc-text:#b8c4d8;
    --sc-muted:#7d8da9;

    /* Status */

    --sc-success:#17c964;
    --sc-warning:#ffb224;
    --sc-danger:#ff4d4f;

    /* Radius */

    --sc-radius:22px;

    /* Shadow */

    --sc-shadow:
        0 10px 40px rgba(0,0,0,.25);

    --sc-shadow-hover:
        0 25px 60px rgba(0,0,0,.45);

}

/*==============================================================
    GLOBAL SECTION
==============================================================*/

#security-center{

    background:var(--sc-bg);

}

#security-center section{

    position:relative;

    padding:140px 0;

    background:var(--sc-surface);

    overflow:hidden;

}

#security-center section:nth-child(even){

    background:var(--sc-bg);

}

#security-center .container{

    position:relative;

    z-index:2;

}

/*==============================================================
    SECTION HEADER
==============================================================*/

.section-title{

    text-align:center;

    max-width:900px;

    margin:40px auto 70px;

}

.section-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:10px 20px;

    margin-bottom:24px;

    border-radius:999px;

    border:1px solid rgba(47,109,246,.25);

    background:rgba(47,109,246,.08);

    color:var(--sc-primary);

    font-size:13px;

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

}

.section-title h2{

    color:var(--sc-title);

    font-size:48px;

    line-height:1.15;

    margin-bottom:24px;

    font-weight:700;

}

.section-title p{

    color:var(--sc-text);

    font-size:19px;

    line-height:1.9;

}

/*==============================================================
    GLASS CARD
==============================================================*/

.glass-card{

    position:relative;

    overflow:hidden;

    background:linear-gradient(
        180deg,
        rgba(255,255,255,.03),
        rgba(255,255,255,.015));

    border:1px solid var(--sc-border);

    border-radius:var(--sc-radius);

    backdrop-filter:blur(14px);

    transition:
        transform .35s,
        border-color .35s,
        box-shadow .35s,
        background .35s;

    box-shadow:var(--sc-shadow);

}

.glass-card:hover{

    transform:translateY(-8px);

    border-color:var(--sc-primary);

    background:var(--sc-card-hover);

    box-shadow:var(--sc-shadow-hover);

}

.glass-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:1px;

    background:

        linear-gradient(
            90deg,

            transparent,

            rgba(255,255,255,.35),

            transparent);

}

.glass-card::after{

    content:"";

    position:absolute;

    right:-80px;

    top:-80px;

    width:180px;

    height:180px;

    border-radius:50%;

    background:

        radial-gradient(

            rgba(47,109,246,.25),

            transparent 70%);

    transition:.4s;

}

.glass-card:hover::after{

    transform:scale(1.4);

}

/*==============================================================
    05 - RESOURCE CARDS
==============================================================*/

.resource-grid{

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
    gap:32px;
    align-items:stretch;

}

.resource-card{

    position:relative;

    display:flex;
    flex-direction:column;

    padding:40px;

    text-decoration:none;

    color:inherit;

    overflow:hidden;

}

/* utilizza lo stile Glass */

.resource-card{

    background:linear-gradient(
        180deg,
        rgba(255,255,255,.03),
        rgba(255,255,255,.015));

    border:1px solid var(--sc-border);

    border-radius:var(--sc-radius);

    backdrop-filter:blur(14px);

    box-shadow:var(--sc-shadow);

    transition:
        transform .35s,
        border-color .35s,
        background .35s,
        box-shadow .35s;

}

.resource-card:hover{

    transform:translateY(-10px);

    border-color:var(--sc-primary);

    background:var(--sc-card-hover);

    box-shadow:var(--sc-shadow-hover);

}

/* linea superiore */

.resource-card::before{

    content:"";

    position:absolute;

    left:0;
    top:0;

    width:100%;
    height:3px;

    background:linear-gradient(
        90deg,
        transparent,
        var(--sc-primary),
        transparent);

    opacity:0;

    transition:.35s;

}

.resource-card:hover::before{

    opacity:1;

}

/* glow */

.resource-card::after{

    content:"";

    position:absolute;

    width:220px;
    height:220px;

    right:-120px;
    top:-120px;

    border-radius:50%;

    background:
        radial-gradient(
            rgba(47,109,246,.18),
            transparent 70%);

    transition:.4s;

}

.resource-card:hover::after{

    transform:scale(1.3);

}

/* TAG */

.resource-tag{

    display:inline-flex;

    align-self:flex-start;

    padding:8px 16px;

    margin-bottom:28px;

    border-radius:999px;

    background:rgba(47,109,246,.12);

    border:1px solid rgba(47,109,246,.25);

    color:var(--sc-primary);

    font-size:12px;

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

}

/* ICON */

.resource-card i:first-of-type{

    font-size:54px;

    color:var(--sc-primary);

    margin-bottom:30px;

    transition:.35s;

}

.resource-card:hover i:first-of-type{

    transform:scale(1.08);

}

/* TITLE */

.resource-card h3{

    color:var(--sc-title);

    font-size:26px;

    font-weight:700;

    line-height:1.3;

    margin-bottom:18px;

}

/* DESCRIPTION */

.resource-card p{

    color:var(--sc-text);

    line-height:1.9;

    font-size:16px;

    flex:1;

}

/* LINK */

.resource-link{

    display:flex;

    align-items:center;

    justify-content:space-between;

    margin-top:34px;

    color:var(--sc-primary);

    font-weight:700;

    letter-spacing:.4px;

}

.resource-link i{

    font-size:18px;

    transition:.35s;

}

.resource-card:hover .resource-link i{

    transform:translateX(8px);

}

/*==============================================================
    RESOURCE RESPONSIVE
==============================================================*/

@media (max-width:992px){

    .resource-grid{

        grid-template-columns:1fr;

    }

}

@media (max-width:768px){

    .resource-card{

        padding:30px;

    }

    .resource-card h3{

        font-size:23px;

    }

}

/*==============================================================
    06 - COMPLIANCE
==============================================================*/

#compliance{

    background:var(--sc-bg);

}

.compliance-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

    gap:32px;

    margin-top:60px;

}

.compliance-card{

    position:relative;

    padding:38px;

    overflow:hidden;

}

/* ==========================================================
   ICON
========================================================== */

.compliance-card i:first-child{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:72px;

    height:72px;

    margin-bottom:28px;

    border-radius:18px;

    background:rgba(47,109,246,.10);

    border:1px solid rgba(47,109,246,.18);

    color:var(--sc-primary);

    font-size:32px;

    transition:.35s;

}

.compliance-card:hover i:first-child{

    transform:scale(1.08) rotate(-4deg);

    background:rgba(47,109,246,.18);

}

/* ==========================================================
   TITLE
========================================================== */

.compliance-card h3{

    color:var(--sc-title);

    font-size:24px;

    font-weight:700;

    margin-bottom:18px;

    line-height:1.35;

}

/* ==========================================================
   DESCRIPTION
========================================================== */

.compliance-card p{

    color:var(--sc-text);

    line-height:1.9;

    font-size:16px;

    margin-bottom:30px;

}

/* ==========================================================
   BADGE
========================================================== */

.compliance-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:10px 18px;

    border-radius:999px;

    background:rgba(47,109,246,.10);

    border:1px solid rgba(47,109,246,.18);

    color:var(--sc-primary);

    font-size:12px;

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

}

/* ==========================================================
   DECORATIVE GLOW
========================================================== */

.compliance-card::after{

    content:"";

    position:absolute;

    right:-70px;

    bottom:-70px;

    width:170px;

    height:170px;

    border-radius:50%;

    background:radial-gradient(

        rgba(47,109,246,.12),

        transparent 72%

    );

    transition:.35s;

}

.compliance-card:hover::after{

    transform:scale(1.35);

}

/*==============================================================
    COMPLIANCE RESPONSIVE
==============================================================*/

@media (max-width:768px){

    .compliance-card{

        padding:30px;

    }

    .compliance-card h3{

        font-size:22px;

    }

}

/*==============================================================
    07 - VULNERABILITY DISCLOSURE PROGRAM
==============================================================*/

#vdp{

    background:var(--sc-surface);

}

.vdp-layout{

    display:grid;

    grid-template-columns:1.3fr .9fr;

    gap:35px;

    margin-top:70px;

}

.vdp-intro{

    padding:45px;

}

.vdp-icon{

    width:80px;
    height:80px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:20px;

    background:rgba(47,109,246,.10);

    border:1px solid rgba(47,109,246,.20);

    margin-bottom:30px;

}

.vdp-icon i{

    font-size:38px;

    color:var(--sc-primary);

}

.vdp-intro h3{

    color:var(--sc-title);

    font-size:30px;

    margin-bottom:20px;

}

.vdp-intro p{

    color:var(--sc-text);

    line-height:1.9;

    margin-bottom:20px;

}

.vdp-list{

    list-style:none;

    padding:0;

    margin:35px 0 0;

}

.vdp-list li{

    display:flex;

    align-items:center;

    gap:14px;

    color:var(--sc-text);

    padding:14px 0;

    border-bottom:1px solid rgba(255,255,255,.06);

}

.vdp-list li:last-child{

    border:none;

}

.vdp-list i{

    color:var(--sc-success);

}

.vdp-scope{

    display:flex;

    flex-direction:column;

    gap:30px;

}

.scope-card{

    padding:35px;

}

.scope-header{

    display:flex;

    align-items:center;

    gap:15px;

    margin-bottom:28px;

}

.scope-header i{

    font-size:30px;

}

.scope-card:first-child .scope-header i{

    color:var(--sc-success);

}

.scope-card:last-child .scope-header i{

    color:var(--sc-danger);

}

.scope-header h3{

    color:var(--sc-title);

    font-size:24px;

}

.scope-card ul{

    list-style:none;

    margin:0;

    padding:0;

}

.scope-card li{

    color:var(--sc-text);

    padding:14px 0;

    border-bottom:1px solid rgba(255,255,255,.06);

}

.scope-card li:last-child{

    border:none;

}

/* Responsive */

@media(max-width:992px){

    .vdp-layout{

        grid-template-columns:1fr;

    }

}

/*==============================================================
    SECURITY RESPONSE PROCESS
==============================================================*/

#response-process{

    background:var(--sc-bg);

}

.process-timeline{

    position:relative;

    display:grid;

    grid-template-columns:repeat(6,1fr);

    gap:22px;

    margin-top:80px;

}

.timeline-line{

    position:absolute;

    top:74px;

    left:6%;

    width:88%;

    height:4px;

    border-radius:999px;

    background:linear-gradient(
        90deg,
        rgba(47,109,246,.25) 0%,
        rgba(47,109,246,.95) 20%,
        rgba(97,168,255,1) 50%,
        rgba(47,109,246,.95) 80%,
        rgba(47,109,246,.25) 100%);

    box-shadow:
        0 0 12px rgba(47,109,246,.45),
        0 0 25px rgba(47,109,246,.18);

    z-index:0;

}

.process-step{

    position:relative;

    text-align:center;

    padding:35px 25px;

    z-index:2;

}

.process-step::before{

    content:"";

    position:absolute;

    left:50%;

    top:68px;

    transform:translateX(-50%);

    width:18px;

    height:18px;

    border-radius:50%;

    background:var(--sc-primary);

    border:4px solid var(--sc-bg);

    box-shadow:
        0 0 12px rgba(47,109,246,.8);

    z-index:5;

}


.step-number{

    position:absolute;

    right:18px;

    top:18px;

    font-size:13px;

    color:rgba(255,255,255,.18);

    font-weight:700;

    letter-spacing:1px;

}

.step-icon{

    width:82px;

    height:82px;

    margin:0 auto 25px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:22px;

    background:rgba(47,109,246,.10);

    border:1px solid rgba(47,109,246,.25);

    transition:.35s;

}

.step-icon i{

    font-size:34px;

    color:var(--sc-primary);

}

.process-step:hover .step-icon{

    transform:translateY(-6px) scale(1.05);

    background:rgba(47,109,246,.18);

}

.process-step h3{

    color:var(--sc-title);

    font-size:22px;

    margin-bottom:18px;

}

.process-step p{

    color:var(--sc-text);

    line-height:1.8;

    font-size:15px;

}

/*==============================================================
    PROCESS RESPONSIVE
==============================================================*/

@media(max-width:1200px){

    .process-timeline{

        grid-template-columns:repeat(3,1fr);

    }

    .timeline-line{

        display:none;

    }

}

@media(max-width:768px){

    .process-timeline{

        grid-template-columns:1fr;

    }

}

/*==============================================================
    09 - SECURITY ADVISORIES
==============================================================*/

#security-advisories{

    background:var(--sc-surface);

}

.advisory-table{

    overflow:hidden;

    margin-top:70px;

    padding:0;

}

.advisory-table table{

    width:100%;

    border-collapse:collapse;

}

.advisory-table thead{

    background:rgba(47,109,246,.08);

}

.advisory-table th{

    color:var(--sc-title);

    text-align:left;

    padding:22px 28px;

    font-size:14px;

    text-transform:uppercase;

    letter-spacing:1px;

    border-bottom:1px solid rgba(255,255,255,.08);

}

.advisory-table td{

    padding:22px 28px;

    color:var(--sc-text);

    border-bottom:1px solid rgba(255,255,255,.06);

}

.advisory-table tbody tr{

    transition:.3s;

}

.advisory-table tbody tr:hover{

    background:rgba(47,109,246,.05);

}

.advisory-table tbody tr:last-child td{

    border-bottom:none;

}

.severity{

    display:inline-flex;

    padding:8px 14px;

    border-radius:999px;

    font-size:12px;

    font-weight:700;

    text-transform:uppercase;

}

.severity.critical{

    background:rgba(255,77,79,.15);

    color:var(--sc-danger);

}

.severity.high{

    background:rgba(255,140,0,.15);

    color:#ff8c00;

}

.severity.medium{

    background:rgba(255,178,36,.15);

    color:var(--sc-warning);

}

.severity.low{

    background:rgba(23,201,100,.15);

    color:var(--sc-success);

}

.cvss{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:52px;

    height:34px;

    border-radius:12px;

    background:rgba(47,109,246,.12);

    color:var(--sc-primary);

    font-weight:700;

}

.status{

    display:inline-flex;

    padding:8px 14px;

    border-radius:999px;

    font-size:12px;

    font-weight:700;

}

.status.fixed{

    background:rgba(23,201,100,.15);

    color:var(--sc-success);

}

.status.investigating{

    background:rgba(255,178,36,.15);

    color:var(--sc-warning);

}

/*==============================================================
    SECURITY ADVISORIES OVERVIEW
==============================================================*/

.security-overview{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:28px;

    margin:60px 0;

}

.overview-card{

    display:flex;

    align-items:center;

    gap:22px;

    padding:30px;

}

.overview-icon{

    width:72px;

    height:72px;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(47,109,246,.10);

    border:1px solid rgba(47,109,246,.20);

    flex-shrink:0;

}

.overview-icon i{

    font-size:30px;

    color:var(--sc-primary);

}

.overview-content{

    display:flex;

    flex-direction:column;

}

.overview-number{

    color:white;

    font-size:38px;

    font-weight:700;

    line-height:1;

    margin-bottom:10px;

}

.overview-label{

    color:var(--sc-text);

    font-size:14px;

    text-transform:uppercase;

    letter-spacing:.8px;

    line-height:1.5;

}

/*==============================================================
    ADVISORY TOOLBAR
==============================================================*/

.advisory-toolbar{

    display:flex;

    gap:18px;

    margin-bottom:35px;

    flex-wrap:wrap;

}

.toolbar-search{

    flex:1;

    min-width:280px;

    position:relative;

}

.toolbar-search i{

    position:absolute;

    left:18px;

    top:50%;

    transform:translateY(-50%);

    color:var(--sc-muted);

}

.toolbar-search input{

    width:100%;

    height:54px;

    padding-left:50px;

    padding-right:20px;

    border-radius:14px;

    border:1px solid var(--sc-border);

    background:var(--sc-card);

    color:white;

    transition:.3s;

}

.toolbar-search input:focus{

    border-color:var(--sc-primary);

    outline:none;

}

.advisory-toolbar select{

    height:54px;

    padding:0 18px;

    border-radius:14px;

    border:1px solid var(--sc-border);

    background:var(--sc-card);

    color:white;

    cursor:pointer;

}

/*==============================================================
    ADVISORIES RESPONSIVE
==============================================================*/

@media(max-width:1200px){

    .security-overview{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .security-overview{

        grid-template-columns:1fr;

    }

    .advisory-toolbar{

        flex-direction:column;

    }

    .advisory-toolbar select{

        width:100%;

    }

}

.table-responsive{
    width:100%;
    overflow-x:auto;
}

/*==============================================================
RESULT COUNTER
==============================================================*/

.advisory-results{

    display:flex;

    justify-content:flex-end;

    margin-bottom:18px;

}

#resultsCounter{

    color:var(--sc-text);

    font-size:14px;

    opacity:.8;

}



/*==============================================================
NO RESULTS
==============================================================*/

.no-results{

    display:none;

    text-align:center;

    padding:70px 30px;

    color:var(--sc-text);

}

.no-results i{

    font-size:46px;

    color:var(--sc-primary);

    margin-bottom:18px;

}

.no-results h4{

    color:white;

    font-size:24px;

    margin-bottom:12px;

}

.no-results p{

    color:var(--sc-text);

}

.btn-advisory{

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    padding:8px 16px;

    border-radius:8px;

    background:linear-gradient(135deg,#2f6df6,#1f5be0);

    color:#fff;
    text-decoration:none;

    font-size:13px;
    font-weight:600;

    transition:.25s;

}

.btn-advisory:hover{

    transform:translateY(-2px);

    box-shadow:0 10px 25px rgba(47,109,246,.35);

}

.advisory-id-link{

    color:var(--sc-primary);
    text-decoration:none;
    font-weight:700;

}

.advisory-id-link:hover{

    text-decoration:underline;

}