/* ==========================================================
   Dakika Portfolio Pro
   Version: 0.9
   Author: Dakika Creatives Studio

   PART 1 OF 3
   Foundation + Portfolio Grid
========================================================== */


/* ==========================================================
   CSS VARIABLES
========================================================== */

:root{

    --dp-primary:#359BF3;
    --dp-secondary:#BC2132;

    --dp-dark:#111111;
    --dp-black:#222222;

    --dp-white:#ffffff;

    --dp-light:#f7f9fc;

    --dp-border:#e8edf3;

    --dp-text:#666666;

    --dp-shadow:0 12px 32px rgba(0,0,0,.08);

    --dp-shadow-hover:0 24px 50px rgba(0,0,0,.14);

    --dp-radius:18px;

    --dp-transition:.35s ease;

}


/* ==========================================================
   RESET
========================================================== */

*{

    box-sizing:border-box;

}

img{

    max-width:100%;

    height:auto;

    display:block;

}

a{

    text-decoration:none;

    transition:var(--dp-transition);

}


/* ==========================================================
   MAIN WRAPPER
========================================================== */

.dp-single-wrapper,
.dp-grid{

    width:100%;

}


/* ==========================================================
   BUTTONS
========================================================== */

.dp-button{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:14px 26px;

    border-radius:10px;

    background:var(--dp-primary);

    color:#ffffff;

    font-weight:600;

    transition:var(--dp-transition);

}

.dp-button:hover{

    background:var(--dp-dark);

    color:#ffffff;

}


/* ==========================================================
   PORTFOLIO GRID
========================================================== */

.dp-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:35px;

    margin:50px 0;

}


/* ==========================================================
   CARD
========================================================== */

.dp-card{

    display:flex;

    flex-direction:column;

    height:100%;

    background:#ffffff;

    border-radius:20px;

    overflow:hidden;

    box-shadow:var(--dp-shadow);

    transition:var(--dp-transition);

}

.dp-card:hover{

    transform:translateY(-8px);

    box-shadow:var(--dp-shadow-hover);

}


/* ==========================================================
   CARD IMAGE
========================================================== */

.dp-image{

    position:relative;

    overflow:hidden;

}

.dp-image img{

    width:100%;

    aspect-ratio:16/9;

    object-fit:cover;

    transition:.45s;

}

.dp-card:hover .dp-image img{

    transform:scale(1.06);

}


/* ==========================================================
   FEATURED BADGE
========================================================== */

.dp-featured-badge{

    position:absolute;

    top:18px;

    left:18px;

    padding:8px 15px;

    border-radius:40px;

    background:var(--dp-secondary);

    color:#ffffff;

    font-size:12px;

    font-weight:700;

    letter-spacing:.5px;

}

/* ==========================================
   Video Play Button
========================================== */

.dp-play-button{

    position:absolute;

    left:50%;

    top:50%;

    transform:translate(-50%,-50%);

    width:80px;

    height:80px;

    border-radius:50%;

    background:rgba(255,255,255,.92);

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:34px;

    color:#111;

    cursor:pointer;

    box-shadow:0 10px 30px rgba(0,0,0,.20);

    transition:all .30s ease;

}

.dp-image:hover .dp-play-button{

    transform:translate(-50%,-50%) scale(1.12);

}


/* ==========================================================
   CARD CONTENT
========================================================== */

.dp-content{

    display:flex;

    flex-direction:column;

    flex:1;

    padding:24px;

}


/* ==========================================
   Portfolio Categories
========================================== */

.dp-category{

    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;

    margin-bottom:18px;

    font-size:14px;

}

/* Parent */

.dp-parent-category{

    color:var(--dp-primary);

    font-size:14px;

    font-weight:700;

    display:inline-flex;

    align-items:center;

}

.dp-parent-category::before{

    content:"# ";

    margin-right:2px;

    font-weight:700;

}

/* Separator */

.dp-category-separator{

    display:inline-flex;

    align-items:center;

    color:#A8B3C2;

    font-size:14px;

    font-weight:700;

    margin:0 2px;

}

/* Child */

.dp-child-category{

    display:inline-flex;

    align-items:center;

    color:var(--dp-primary);

    opacity:.75;

    font-size:13px;

    font-weight:600;

    text-transform:capitalize;

}

/* ==========================================================
   TITLE
========================================================== */

.dp-title{

    margin:0 0 18px;

    font-size:28px;

    line-height:1.3;

    color:var(--dp-dark);

}


/* ==========================================================
   META
========================================================== */

.dp-meta{

    color:var(--dp-text);

    margin-bottom:10px;

}


/* ==========================================================
   EXCERPT
========================================================== */

.dp-excerpt{

    flex:1;

    color:var(--dp-text);

    line-height:1.8;

    margin-bottom:25px;

}


/* ==========================================================
   READ MORE
========================================================== */

.dp-content .dp-button{

    align-self:flex-start;

}

/* ==========================================================
   Dakika Portfolio Pro
   Version: 0.9
   Author: Dakika Creatives Studio

   PART 2 OF 3
   Single Portfolio
========================================================== */


/* ==========================================================
   SINGLE PAGE WRAPPER
========================================================== */

.dp-single-wrapper{

    max-width:1280px;

    margin:70px auto;

    padding:0 25px;

}

.dp-single-container{

    width:100%;

}


/* ==========================================================
   HERO IMAGE
========================================================== */

.dp-single-image{

    margin-bottom:28px;

}

.dp-single-image img{

    width:100%;

    border-radius:22px;

    box-shadow:0 20px 60px rgba(0,0,0,.12);

}


/* ==========================================================
   HERO CONTENT
========================================================== */

.dp-single-content{

    max-width:950px;

    margin:auto;

}

/* ==========================================================
   HERO LAYOUT
========================================================== */

.dp-hero-layout{

    display:grid;

    grid-template-columns:minmax(0,1fr) 340px;

    gap:50px;

    align-items:start;

    margin-bottom:50px;

}

.dp-hero-main{

    min-width:0;

}

.dp-hero-sidebar{

    width:100%;

    max-width:340px;

    justify-self:end;

    position:sticky;

    top:40px;

}

.dp-single-title{

    font-size:48px;

    line-height:1.2;

    color:var(--dp-dark);

    margin-bottom:12px;

}

.dp-project-summary{

    font-size:20px;

    line-height:1.9;

    color:var(--dp-text);

    margin-bottom:28px;

}


/* ==========================================================
   METADATA GRID
========================================================== */

/* ==========================================================
   METADATA GRID
========================================================== */

.dp-single-meta{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));

    gap:24px;

   margin:30px 0;

}

.dp-single-meta p{

    margin:0;

    padding:24px;

    background:#ffffff;

    border-radius:18px;

    border:1px solid rgba(0,0,0,.05);

    box-shadow:0 10px 25px rgba(0,0,0,.06);

    transition:all .30s ease;

}

.dp-single-meta p:hover{

    transform:translateY(-5px);

    box-shadow:0 20px 40px rgba(0,0,0,.10);

}

.dp-single-meta strong{

    display:flex;

    align-items:center;

    gap:8px;

    margin-bottom:12px;

    color:#8A97A8;

    font-size:11px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.12em;

}

.dp-single-meta strong::before{

    width:8px;

    height:8px;

    border-radius:50%;

    background:var(--dp-primary);

    content:"";

    display:inline-block;

}

.dp-single-meta p{

    font-size:16px;

    color:var(--dp-dark);

    line-height:1.6;

}


/* ==========================================================
   ACTION BUTTONS
========================================================== */

.dp-single-buttons{

    display:flex;

    flex-wrap:wrap;

    gap:18px;

    margin:30px 0 45px;

}

.dp-single-buttons .dp-button{

    margin:0;

}


/* ==========================================================
   PROJECT DESCRIPTION
========================================================== */

.dp-single-description{

    margin-top:60px;

    font-size:18px;

    line-height:1.9;

    color:var(--dp-dark);

}

.dp-single-description p{

    margin-bottom:24px;

}

.dp-single-description h2{

    margin-top:60px;

    margin-bottom:20px;

}

.dp-single-description h3{

    margin-top:40px;

    margin-bottom:16px;

}

.dp-single-description ul{

    margin:25px 0;

    padding-left:24px;

}

.dp-single-description li{

    margin-bottom:12px;

}

.dp-single-description a{

    color:var(--dp-primary);

    font-weight:600;

}


/* ==========================================================
   SECTION HEADINGS
========================================================== */

.dp-section-heading{

    position:relative;

    font-size:34px;

    color:var(--dp-dark);

    margin:80px 0 35px;

    padding-bottom:15px;

}

.dp-section-heading::after{

    content:"";

    position:absolute;

    left:0;

    bottom:0;

    width:90px;

    height:4px;

    border-radius:5px;

    background:var(--dp-primary);

}


/* ==========================================================
   GALLERY
========================================================== */

.dp-project-gallery{

    margin-top:80px;

}

.dp-gallery-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

    gap:24px;

}

.dp-gallery-item{

    overflow:hidden;

    border-radius:18px;

    box-shadow:var(--dp-shadow);

    transition:var(--dp-transition);

}

.dp-gallery-item img{

    width:100%;

    aspect-ratio:4/3;

    object-fit:cover;

    transition:.45s;

}

.dp-gallery-item:hover{

    transform:translateY(-6px);

    box-shadow:var(--dp-shadow-hover);

}

.dp-gallery-item:hover img{

    transform:scale(1.06);

}


/* ==========================================================
   VIDEO
========================================================== */

.dp-project-video{

    margin-top:80px;

}

.dp-video-wrapper{

    position:relative;

    padding-bottom:56.25%;

    height:0;

    overflow:hidden;

    border-radius:20px;

    background:#000;

    box-shadow:0 20px 50px rgba(0,0,0,.14);

}

.dp-video-wrapper iframe{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    border:0;

}


/* ==========================================================
   RELATED PROJECTS
========================================================== */

.dp-related-projects{

    margin-top:90px;

}


/* ==========================================================
   Dakika Portfolio Pro
   Version: 0.9
   Author: Dakika Creatives Studio

   PART 3 OF 3
   Filter Bar • Responsive • Final Polish
========================================================== */


/* ==========================================================
   FILTER BAR
========================================================== */

.dp-filter-wrapper{

    margin:50px 0;

}

.dp-filter-bar{

    display:flex;

    flex-wrap:wrap;

    align-items:center;

    gap:14px;

}

.dp-filter-button{

    appearance:none;

    border:none;

    cursor:pointer;

    background:#ffffff;

    color:var(--dp-primary);

    padding:12px 24px;

    border-radius:40px;

    font-size:14px;

    font-weight:700;

    letter-spacing:.5px;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

    transition:all .35s ease;

}

.dp-filter-button:hover{

    background:var(--dp-primary);

    color:#ffffff;

    transform:translateY(-3px);

    box-shadow:0 14px 28px rgba(53,155,243,.28);

}

.dp-filter-button.active{

    background:var(--dp-primary);

    color:#ffffff;

    box-shadow:0 14px 28px rgba(53,155,243,.35);

}

.dp-filter-button:focus{

    outline:3px solid rgba(53,155,243,.25);

    outline-offset:3px;

}


/* ==========================================================
   PLACEHOLDER IMAGE
========================================================== */

.dp-no-image{

    display:flex;

    align-items:center;

    justify-content:center;

    width:100%;

    aspect-ratio:16/9;

    background:linear-gradient(135deg,#f3f7fb,#e6eef8);

    color:#999;

    font-size:18px;

    font-weight:600;

}


/* ==========================================================
   CARD IMPROVEMENTS
========================================================== */

.dp-card{

    position:relative;

}

.dp-card::after{

    content:"";

    position:absolute;

    inset:0;

    border-radius:20px;

    pointer-events:none;

    border:1px solid rgba(0,0,0,.04);

}


/* ==========================================================
   ACCESSIBILITY
========================================================== */

.dp-button:focus,

.dp-filter-button:focus{

    outline:3px solid rgba(53,155,243,.30);

    outline-offset:3px;

}


/* ==========================================================
   SMOOTH ANIMATIONS
========================================================== */

.dp-card,

.dp-gallery-item,

.dp-button,

.dp-filter-button{

    transition:all .35s ease;

}

.dp-image img,

.dp-gallery-item img{

    backface-visibility:hidden;

}


/* ==========================================================
   SPACING HELPERS
========================================================== */

.dp-mt-20{

    margin-top:20px;

}

.dp-mt-40{

    margin-top:40px;

}

.dp-mb-20{

    margin-bottom:20px;

}

.dp-mb-40{

    margin-bottom:40px;

}


/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width:992px){

.dp-single-title{

font-size:40px;

}

.dp-project-summary{

font-size:18px;

}

}


@media (max-width:768px){

.dp-single-wrapper{

padding:0 18px;

margin:40px auto;

}

.dp-grid{

grid-template-columns:1fr;

gap:28px;

}

.dp-hero-layout{

    grid-template-columns:1fr;

    gap:30px;

}

.dp-hero-sidebar{

    position:static;

    max-width:none;

    justify-self:stretch;

}

.dp-single-title{

font-size:32px;

}

.dp-section-heading{

font-size:28px;

}

.dp-single-meta{

grid-template-columns:1fr;

}

.dp-single-buttons{

flex-direction:column;

}

.dp-single-buttons .dp-button{

width:100%;

justify-content:center;

}

.dp-filter-bar{

justify-content:center;

}

.dp-filter-button{

width:100%;

}

.dp-gallery-grid{

grid-template-columns:1fr;

}

}


@media (max-width:480px){

.dp-single-title{

font-size:28px;

}

.dp-project-summary{

font-size:17px;

}

.dp-content{

padding:20px;

}

.dp-title{

font-size:24px;

}

.dp-button{

width:100%;

}

}


/* ==========================================================
   PRINT
========================================================== */

@media print{

.dp-filter-bar,

.dp-single-buttons{

display:none;

}

}