/*=====================================================
  DASHBOARD.CSS
  FINTECHOISIS | GPIR
  Global Payments Intelligence Dashboard
======================================================*/

/*=====================================================
  DASHBOARD SECTION
======================================================*/

#dashboard{
    position:relative;
    padding:110px 0;
    background:var(--color-surface);
    overflow:hidden;
}

#dashboard::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at top right,
        rgba(184,134,59,.08),
        transparent 42%);
    pointer-events:none;
}
/*=====================================================
  DASHBOARD INTRODUCTION
======================================================*/

.dashboard-intro{

    padding:40px 0 20px;

    text-align:center;

}

.dashboard-intro .section-header{

    max-width:820px;

    margin:0 auto;

}

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

.dashboard-header{
    position:relative;
    text-align:center;
    max-width:820px;
    margin:0 auto 70px;
    z-index:2;
}

.dashboard-header .section-label{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 20px;
    border-radius:999px;
    background:rgba(184,134,59,.12);
    color:var(--color-primary);
    font-size:.78rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.12em;
}

.dashboard-header h2{
    margin:22px 0 18px;
    font-size:var(--fs-section-heading);
    line-height:1.15;
    color:var(--text-heading);
}

.dashboard-header p{
    font-size:1.06rem;
    line-height:1.8;
    color:var(--text-body);
    max-width:760px;
    margin:auto;
}

/*=====================================================
  GRID
======================================================*/

.dashboard-grid{

    display:grid;

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

    gap:32px;

    position:relative;

    z-index:2;
}

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

.dashboard-card{
    position:relative;

    /* Each card is a self-contained unit (image, badges, CTA) — scoping
       layout/style recalculation to the card keeps a hover/image swap
       on one card from forcing the browser to re-check the whole grid. */
    contain:layout style;
}

.dashboard-card::before{

    content:"";

    position:absolute;

    left:0;
    top:0;

    width:4px;
    height:0;

    background:linear-gradient(
        to bottom,
        var(--color-primary),
        #E8D98A
    );

    transition:height .35s ease;

    border-radius:10px;

    pointer-events:none;
}

.dashboard-card:hover::before{
    height:100%;
}

.dashboard-image a{
    display:block;
}

.dashboard-image a img{
    display:block;
}

.dashboard-card:hover{

    transform:translateY(-8px);

    border-color:rgba(184,134,59,.45);

    box-shadow:var(--shadow-lg);
}

.dashboard-reader-details{
    margin-top:18px;
    border-top:1px solid var(--border);
    padding-top:12px;
}

.dashboard-reader-details summary{
    cursor:pointer;
    color:var(--color-primary);
    font-weight:700;
}

.dashboard-reader-details dl{
    display:grid;
    grid-template-columns:minmax(110px,.7fr) minmax(0,1.3fr);
    gap:6px 12px;
    margin:14px 0 8px;
    font-size:.86rem;
}

.dashboard-reader-details dt{
    color:var(--text-muted);
    font-weight:700;
}

.dashboard-reader-details dd{
    margin:0;
    color:var(--text-body);
}

.dashboard-reader-note{
    margin:10px 0 0;
    color:var(--text-muted);
    font-size:.78rem;
    line-height:1.5;
}

.dashboard-smart-narrative{
    margin:24px 0 30px;
    padding:22px 24px;
    border:1px solid var(--border);
    border-left:4px solid var(--color-primary);
    background:rgba(255,255,255,.72);
}

.dashboard-smart-narrative h2{
    margin:0 0 14px;
    font-size:1.25rem;
}

.dashboard-smart-narrative p{
    margin:0 0 10px;
}

.dashboard-narrative-kicker,
.dashboard-availability{
    color:var(--color-primary);
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.dashboard-availability{
    display:block;
    margin-top:10px;
    letter-spacing:.04em;
}

@media (max-width:560px){
    .dashboard-reader-details dl{
        grid-template-columns:1fr;
        gap:3px;
    }

    .dashboard-reader-details dd{
        margin-bottom:7px;
    }
}

/*=====================================================
  FEATURED CARD
======================================================*/

.dashboard-card.featured{

    grid-column:span 2;

    background:
        linear-gradient(
            135deg,
            rgba(27,29,33,.98),
            rgba(37,39,45,.98)
        );

    color:#ffffff;

    border:none;

    position:relative;

    overflow:hidden;
}

.dashboard-card.featured::after{

    content:"";

    position:absolute;

    width:340px;

    height:340px;

    border-radius:50%;

    background:

    radial-gradient(circle,
    rgba(184,134,59,.18),
    transparent 70%);

    top:-120px;

    right:-120px;
}

.dashboard-card.featured h3,

.dashboard-card.featured p,

.dashboard-card.featured li,

.dashboard-card.featured a{

    color:#ffffff;
}

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

.dashboard-icon{

    width:72px;

    height:72px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:18px;

    background:

    linear-gradient(
    135deg,
    var(--color-primary),
    #d6ab58);

    font-size:2rem;

    margin-bottom:28px;

    box-shadow:
    0 12px 28px
    rgba(184,134,59,.28);
}

.dashboard-card.featured .dashboard-icon{

    background:#ffffff;

    color:var(--color-primary);
}
/*=====================================================
  DASHBOARD IMAGE
======================================================*/

.dashboard-image{

    margin:-34px -34px 24px;

    overflow:hidden;

    border-radius:
        var(--radius-lg)
        var(--radius-lg)
        0
        0;

}

.dashboard-image img{

    width:100%;

    aspect-ratio:16/9;

    object-fit:cover;

    display:block;

    transition:transform .35s ease;

}

.dashboard-card:hover .dashboard-image img{

    transform:scale(1.03);

}

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

.dashboard-region{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:6px 14px;

    margin-bottom:18px;

    border-radius:999px;

    background:rgba(184,134,59,.10);

    color:var(--color-primary);

    font-size:.75rem;

    font-weight:700;

    letter-spacing:.08em;

    text-transform:uppercase;

    width:fit-content;

}




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

.dashboard-card h3{

    font-size:1.45rem;

    color:var(--text-heading);

    margin-bottom:18px;

    line-height:1.3;
}

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

.dashboard-card p{

    color:var(--hero-light-body);

    line-height:1.8;

    font-size:var(--fs-body-sm);

    text-align:justify;

    text-align-last:left;

    margin-bottom:24px;

    flex:1;
}

/*=====================================================
  LIST
======================================================*/

.dashboard-card ul{

    list-style:none;

    padding:0;

    margin:0 0 30px;
}

.dashboard-card ul li{

    display:flex;

    align-items:center;

    gap:12px;

    padding:8px 0;

    color:var(--text-body);

    font-size:.96rem;
}

.dashboard-card ul li::before{

    content:"";

    width:8px;

    height:8px;

    border-radius:50%;

    background:var(--color-primary);

    flex-shrink:0;
}

.dashboard-card.featured ul li::before{

    background:#E8D98A;
}

/*=====================================================
  LINK
======================================================*/

.dashboard-card a{

    display:inline-flex;

    align-items:center;

    gap:12px;

    margin-top:auto;

    text-decoration:none;

    font-weight:700;

    color:var(--color-primary);

    transition:.3s ease;
}

.dashboard-card a:hover{

    gap:16px;
}

/*=====================================================
  SUBTLE ANIMATION
======================================================*/

.dashboard-card{

    animation:fadeUp .7s ease both;
}

.dashboard-card:nth-child(2){animation-delay:.08s;}
.dashboard-card:nth-child(3){animation-delay:.16s;}
.dashboard-card:nth-child(4){animation-delay:.24s;}
.dashboard-card:nth-child(5){animation-delay:.32s;}
.dashboard-card:nth-child(6){animation-delay:.40s;}
.dashboard-card:nth-child(7){animation-delay:.48s;}
.dashboard-card:nth-child(8){animation-delay:.56s;}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(30px);
    }

    to{

        opacity:1;

        transform:translateY(0);
    }
}

/*=====================================================
  RESPONSIVE LAYOUT
======================================================*/

@media (max-width:1200px){

    .dashboard-grid{
        grid-template-columns:repeat(2,minmax(300px,1fr));
    }

    .dashboard-card.featured{
        grid-column:1 / -1;
    }

}

@media (max-width:992px){

    #dashboard{
        padding:90px 0;
    }

    .dashboard-header{
        margin-bottom:60px;
    }

    .dashboard-header h2{
        font-size:2.35rem;
    }

    .dashboard-header p{
        font-size:1rem;
    }

    .dashboard-grid{
        gap:24px;
    }

    .dashboard-card{
        padding:30px;
    }

    .dashboard-icon{
        width:64px;
        height:64px;
        font-size:1.75rem;
        margin-bottom:24px;
    }

}

@media (max-width:768px){

    #dashboard{
        padding:80px 0;
    }

    .dashboard-grid{
        grid-template-columns:1fr;
    }

    .dashboard-card.featured{
        grid-column:auto;
    }

    .dashboard-header{
        margin-bottom:50px;
    }

    .dashboard-header h2{
        font-size:2rem;
    }

    .dashboard-header p{
        line-height:1.7;
    }

    .dashboard-card{
        padding:28px;
    }

}

@media (max-width:576px){

    #dashboard{
        padding:70px 0;
    }

    .dashboard-header .section-label{
        font-size:.72rem;
        padding:8px 16px;
    }

    .dashboard-header h2{
        font-size:1.75rem;
    }

    .dashboard-card{
        padding:24px;
        border-radius:18px;
    }

    .dashboard-icon{
        width:58px;
        height:58px;
        font-size:1.55rem;
        border-radius:16px;
    }

    .dashboard-card h3{
        font-size:1.25rem;
    }

    .dashboard-card p,
    .dashboard-card ul li{
        font-size:.95rem;
    }

}

/*=====================================================
  ACCESSIBILITY
======================================================*/

.dashboard-card a:focus-visible{

    outline:3px solid var(--color-primary);

    outline-offset:4px;

    border-radius:8px;
}

@media (prefers-reduced-motion:reduce){

    .dashboard-card,
    .dashboard-card:hover,
    .dashboard-card a{

        animation:none;

        transition:none;

        transform:none;
    }

}

/*=====================================================
  DARK FEATURED CARD ENHANCEMENT
======================================================*/

.dashboard-card.featured h3{

    color:#ffffff;
}

.dashboard-card.featured p{

    color:rgba(255,255,255,.88);
}

.dashboard-card.featured ul li{

    color:rgba(255,255,255,.92);
}

.dashboard-card.featured a{

    color:#E8D98A;
}

.dashboard-card.featured a:hover{

    color:#ffffff;
}

/*=====================================================
  PREMIUM HOVER DETAILS
======================================================*/

.dashboard-card{

    position:relative;
}

.dashboard-card::before{

    pointer-events:none;

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:4px;

    height:0;

    background:linear-gradient(
        to bottom,
        var(--color-primary),
        #E8D98A
    );

    transition:height .35s ease;

    border-radius:10px;
}

.dashboard-card:hover::before{

    height:100%;
}

/*=====================================================
  CARD SPACING
======================================================*/

.dashboard-card > *:last-child{

    margin-bottom:0;
}

.dashboard-card ul:last-of-type{

    margin-bottom:26px;
}

/*=====================================================
  GLASS EFFECT
======================================================*/

.dashboard-card{

    backdrop-filter:blur(16px);

    -webkit-backdrop-filter:blur(16px);
}

/*=====================================================
  FUTURE BADGE SUPPORT
======================================================*/

.dashboard-badge{

    display:inline-flex;

    align-items:center;

    padding:6px 12px;

    border-radius:999px;

    background:rgba(184,134,59,.10);

    color:var(--color-primary);

    font-size:.72rem;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.08em;

    margin-bottom:18px;
}

/*=====================================================
  FUTURE METADATA
======================================================*/

.dashboard-meta{

    display:flex;

    flex-wrap:wrap;

    gap:12px;

    margin-top:22px;
}

.dashboard-meta span{

    padding:6px 12px;

    border-radius:999px;

    background:rgba(15,39,71,.06);

    color:var(--hero-navy, #0F2747);

    font-weight:600;

    border:1px solid rgba(15,39,71,.12);

    font-size:.78rem;
}
/* =====================================================
   GPIR INTELLIGENCE TILE
===================================================== */

.intelligence-tile{

    background:var(--hero-light-card);

    border:1px solid var(--hero-light-border);

    border-radius:24px;

    box-shadow:0 4px 16px rgba(15,39,71,.05);

    padding:34px;

    position:relative;

    overflow:hidden;

    transition:all .35s ease;

    display:flex;

    flex-direction:column;

    gap:24px;

    min-height:640px;

}

.intelligence-tile::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:4px;

    background:#D4AF37;

}

.intelligence-tile:hover{

    transform:translateY(-10px);

    box-shadow:

        0 24px 60px rgba(18,50,91,.14);

}
.tile-header{

    border-bottom:1px solid var(--hero-light-border);

    padding-bottom:16px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:8px;

}

.tile-domain{

    font-size:12px;

    font-weight:700;

    letter-spacing:1.5px;

    text-transform:uppercase;

    color:var(--color-primary);

}
.tile-status{

    padding:6px 14px;

    border-radius:30px;

    background:#E8F7EC;

    color:#14833B;

    font-size:11px;

    font-weight:700;

    letter-spacing:.8px;

    text-transform:uppercase;

}
.intelligence-tile h3{

    font-size:var(--fs-card-heading);

    line-height:1.25;

    color:var(--hero-navy);

    margin:0;

}

.intelligence-tile>*{

    position:relative;

    z-index:2;

}

.tile-summary{

    color:var(--hero-light-body);

    line-height:1.8;

    font-size:var(--fs-body-sm);

    text-align:justify;

    text-align-last:left;

    margin-bottom:26px;

    flex-grow:1;

}

.tile-assets h4{

    margin-bottom:16px;

    color:var(--hero-navy);

    font-size:16px;

}

.tile-assets ul{

    list-style:none;

    padding:0;

    margin:0;

    display:grid;

    gap:12px;

}

.tile-assets li{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding-bottom:10px;

    border-bottom:1px solid var(--hero-light-border);

}

.tile-image{

    width:100%;

    overflow:hidden;

    border-radius:16px;

    margin-bottom:24px;

    background:#F8FAFC;
    aspect-ratio:16/9;

    object-fit:cover;

    display:block;

    transition:.35s ease;

}


.tile-coverage{

    display:flex;

    flex-wrap:wrap;

    gap:12px;

}

.tile-coverage span{

    background:#F4F7FB;

    border:1px solid #E2E8F0;

    padding:7px 14px;

    border-radius:40px;

    font-size:12px;

    font-weight:600;

    color:#23406B;

}

.tile-link{

    margin-top:auto;

    display:inline-flex;

    align-items:center;

    gap:8px;

    font-weight:700;

    color:#0B2242;

    text-decoration:none;

}
.tile-link:hover{

    color:#D4AF37;

}

/* =====================================================
   GPIR KNOWLEDGE MATRIX
===================================================== */

.knowledge-matrix{

    display:flex;

    flex-direction:column;

    gap:14px;

}

.knowledge-matrix h4{

    margin:0 0 8px;

    color:var(--hero-navy);

    font-size:16px;

}

.matrix-row{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:10px 0;

    border-bottom:1px solid var(--hero-light-border);

}

.matrix-row span{

    color:var(--hero-light-body);

    font-size:14px;

}

.matrix-row strong{

    color:var(--color-primary);

    font-size:15px;

    font-weight:700;

}

.dashboard-grid{

    align-items:stretch;

}

.intelligence-tile{

    height:100%;

}

/* ======================================================
   GPIR MARKET INTELLIGENCE GALLERY
   Sprint 5.4B
====================================================== */

#market-gallery{

    padding:120px 0;

    background:#F8FAFC;

}

.market-gallery-container{

    width:100%;

    max-width:1280px;

    margin:0 auto;

    padding:0 30px;

}

.market-gallery-grid{

    display:grid;

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

    gap:34px;

    align-items:stretch;

    margin-top:60px;

}

@media (max-width:992px){

    .market-gallery-grid{

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

        gap:26px;

    }

}

@media (max-width:640px){

    .market-gallery-grid{

        grid-template-columns:minmax(0,1fr);

    }

}

.intelligence-tile:hover{

    transform:translateY(-10px);
    transition:
all .35s ease;

    box-shadow:0 18px 40px rgba(0,0,0,.10);

}

.intelligence-tile h3{

    font-size:28px;

    line-height:1.25;

    color:var(--text-heading);

    margin-bottom:18px;

}



/* ======================================================
   Intelligence Tile Header
====================================================== */

.tile-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:18px;

}

.tile-domain{

    font-size:12px;

    font-weight:700;

    color:#D4AF37;

    letter-spacing:.8px;

    text-transform:uppercase;

}
.tile-status{

    background:#E8F7EE;

    color:#0F8A45;

    padding:6px 12px;

    border-radius:20px;

    font-size:11px;

    font-weight:700;

    letter-spacing:.5px;

}

/* ==========================================================
   SPRINT 5.5
   GLOBAL DASHBOARD GALLERY
========================================================== */


/*=====================================================
  END OF DASHBOARD
======================================================*/