/*=========================================================
    PROJECT DETAILS PAGE
    LOUIS CARTER FOUNDATION
=========================================================*/


/*=========================================================
    HERO
=========================================================*/

.project-details-hero{
    position:relative;
    margin-top:20px;
    min-height:470px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:
        linear-gradient(
            135deg,
            #082342 0%,
            #0b4da1 55%,
            #2f6df6 100%
        );
}

.project-details-hero-overlay{
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        radial-gradient(
            circle at 15% 20%,
            rgba(47,109,246,.28),
            transparent 35%
        ),
        radial-gradient(
            circle at 85% 80%,
            rgba(255,193,7,.12),
            transparent 35%
        );
}

.project-details-hero > .container{
    position:relative;
    z-index:2;
    width:100%;
    max-width:1200px;
    margin:0 auto;
    padding:0 20px;
}

.project-details-hero-content{
    max-width:950px;
    margin:0 auto;
    padding:75px 20px 65px;
    text-align:center;
}

.project-details-hero-content .projects-tag{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 22px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:50px;
    background:rgba(255,255,255,.14);
    color:#ffc107;
    font-size:12px;
    font-weight:800;
    letter-spacing:1.2px;
}

.project-details-hero-content h1{
    max-width:850px;
    margin:25px auto 22px;
    color:#ffffff;
    font-size:54px;
    line-height:1.2;
    font-weight:800;
}

.project-details-meta{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:25px;
    margin-top:22px;
}

.project-details-meta span{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:rgba(255,255,255,.9);
    font-size:15px;
}

.project-details-meta i{
    color:#ffc107;
}

.project-details-breadcrumb{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px;
    margin-top:32px;
    font-size:14px;
    font-weight:600;
}

.project-details-breadcrumb a{
    color:#ffc107;
    text-decoration:none;
    transition:.3s ease;
}

.project-details-breadcrumb a:hover{
    color:#ffffff;
}

.project-details-breadcrumb span{
    color:#ffffff;
}


/*=========================================================
    MAIN SECTION
=========================================================*/

.project-details-section{
    padding:90px 0 100px;
    background:#f7faff;
}

.project-details-section > .container{
    width:100%;
    max-width:1250px;
    margin:0 auto;
    padding:0 20px;
}

.project-details-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 350px;
    gap:40px;
    align-items:start;
}


/*=========================================================
    MAIN PROJECT CARD
=========================================================*/

.project-details-main{
    overflow:hidden;
    background:#ffffff;
    border:1px solid #e8eef5;
    border-radius:28px;
    box-shadow:0 20px 60px rgba(17,62,120,.08);
}

.project-details-image{
    width:100%;
    height:480px;
    overflow:hidden;
    background:#eaf0f8;
}

.project-details-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .6s ease;
}

.project-details-main:hover .project-details-image img{
    transform:scale(1.02);
}


/*=========================================================
    PROJECT CONTENT
=========================================================*/

.project-details-content{
    padding:55px 60px 60px;
}

.project-details-category{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:20px;
    padding:9px 16px;
    border-radius:50px;
    background:#edf3ff;
    color:#2f6df6;
    font-size:12px;
    font-weight:800;
    letter-spacing:.6px;
    text-transform:uppercase;
}

.project-details-category i{
    font-size:13px;
}

.project-details-content h2{
    margin:0 0 25px;
    color:#12355b;
    font-size:38px;
    line-height:1.3;
    font-weight:800;
}

.project-details-intro{
    margin:0 0 30px;
    color:#12355b;
    font-size:20px;
    line-height:1.75;
    font-weight:600;
}

.project-details-description{
    color:#68768b;
    font-size:17px;
    line-height:1.9;
}

.project-details-description p{
    margin:0 0 24px;
}

.project-details-description h2,
.project-details-description h3,
.project-details-description h4{
    margin:38px 0 17px;
    color:#12355b;
    line-height:1.4;
    font-weight:800;
}

.project-details-description h2{
    font-size:30px;
}

.project-details-description h3{
    font-size:25px;
}

.project-details-description h4{
    font-size:21px;
}

.project-details-description ul,
.project-details-description ol{
    margin:0 0 25px;
    padding-left:25px;
}

.project-details-description li{
    margin-bottom:10px;
}

.project-details-description strong{
    color:#12355b;
}

.project-details-description a{
    color:#2f6df6;
    font-weight:600;
}


/*=========================================================
    PROJECT INFORMATION
=========================================================*/

.project-information{
    margin-top:50px;
    padding-top:35px;
    border-top:1px solid #e5ebf3;
}

.project-information h3{
    margin:0 0 25px;
    color:#12355b;
    font-size:25px;
    line-height:1.35;
    font-weight:800;
}

.project-information-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.project-information-item{
    display:flex;
    align-items:flex-start;
    gap:15px;
    padding:20px;
    border:1px solid #e3eaf3;
    border-radius:16px;
    background:#f8fbff;
}

.project-information-item > i{
    flex:0 0 42px;
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:#eaf2ff;
    color:#2f6df6;
    font-size:16px;
}

.project-information-item div{
    min-width:0;
}

.project-information-item span{
    display:block;
    margin-bottom:5px;
    color:#8a98aa;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.5px;
}

.project-information-item strong{
    display:block;
    color:#12355b;
    font-size:15px;
    line-height:1.5;
    font-weight:800;
    word-break:break-word;
}


/*=========================================================
    SUPPORT CTA
=========================================================*/

.project-details-support{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:20px;
    margin-top:45px;
    padding:28px;
    border-radius:22px;
    background:
        linear-gradient(
            135deg,
            #f1f6ff,
            #f8fbff
        );
    border:1px solid #dfe9f5;
}

.project-details-support-icon{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#2f6df6;
    color:#ffc107;
    font-size:22px;
}

.project-details-support h3{
    margin:0 0 6px;
    color:#12355b;
    font-size:20px;
    font-weight:800;
}

.project-details-support p{
    margin:0;
    color:#68768b;
    font-size:14px;
    line-height:1.7;
}

.project-details-support-btn{
    min-height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:0 22px;
    border-radius:50px;
    background:#ffc107;
    color:#12355b;
    font-size:14px;
    font-weight:800;
    text-decoration:none;
    white-space:nowrap;
    transition:.3s ease;
}

.project-details-support-btn:hover{
    transform:translateY(-3px);
    background:#ffd04a;
    box-shadow:0 10px 25px rgba(255,193,7,.2);
}

.project-details-support-btn i{
    transition:.3s ease;
}

.project-details-support-btn:hover i{
    transform:translateX(3px);
}


/*=========================================================
    BACK TO PROJECTS
=========================================================*/

.project-details-back{
    margin-top:30px;
}

.project-details-back a{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:#2f6df6;
    font-size:14px;
    font-weight:700;
    text-decoration:none;
    transition:.3s ease;
}

.project-details-back a:hover{
    color:#0b4da1;
}

.project-details-back a i{
    transition:.3s ease;
}

.project-details-back a:hover i{
    transform:translateX(-3px);
}


/*=========================================================
    SIDEBAR
=========================================================*/

.project-details-sidebar{
    display:flex;
    flex-direction:column;
    gap:25px;
}

.project-sidebar-card{
    padding:30px;
    background:#ffffff;
    border:1px solid #e8eef5;
    border-radius:25px;
    box-shadow:0 15px 45px rgba(17,62,120,.07);
}

.project-sidebar-card h3{
    margin:0 0 15px;
    padding-bottom:15px;
    border-bottom:1px solid #edf2f7;
    color:#12355b;
    font-size:24px;
    font-weight:800;
}

.project-sidebar-item{
    display:grid;
    grid-template-columns:80px minmax(0,1fr);
    gap:15px;
    padding:18px 0;
    border-bottom:1px solid #edf2f7;
}

.project-sidebar-item:last-of-type{
    border-bottom:0;
}

.project-sidebar-item img,
.project-sidebar-placeholder{
    width:80px;
    height:70px;
    display:block;
    object-fit:cover;
    border-radius:12px;
}

.project-sidebar-placeholder{
    display:flex;
    align-items:center;
    justify-content:center;
    background:#edf3ff;
    color:#2f6df6;
    font-size:20px;
}

.project-sidebar-item > div{
    min-width:0;
}

.project-sidebar-item span{
    display:block;
    margin-bottom:6px;
    color:#2f6df6;
    font-size:10px;
    font-weight:800;
    letter-spacing:.6px;
    text-transform:uppercase;
}

.project-sidebar-item a{
    display:block;
    color:#12355b;
    font-size:14px;
    line-height:1.5;
    font-weight:700;
    text-decoration:none;
    transition:.3s ease;
}

.project-sidebar-item a:hover{
    color:#2f6df6;
}

.project-sidebar-empty{
    margin:0;
    padding:15px 0;
    color:#68768b;
    font-size:14px;
    line-height:1.7;
}

.project-sidebar-all{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-top:15px;
    color:#2f6df6;
    font-size:14px;
    font-weight:700;
    text-decoration:none;
    transition:.3s ease;
}

.project-sidebar-all:hover{
    color:#0b4da1;
}

.project-sidebar-all i{
    transition:.3s ease;
}

.project-sidebar-all:hover i{
    transform:translateX(3px);
}


/*=========================================================
    SIDEBAR CTA
=========================================================*/

.project-sidebar-cta{
    padding:35px 30px;
    border-radius:25px;
    text-align:center;
    background:
        linear-gradient(
            135deg,
            #0b4da1,
            #2f6df6
        );
    box-shadow:0 20px 50px rgba(17,62,120,.15);
}

.project-sidebar-cta-icon{
    width:65px;
    height:65px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 20px;
    border-radius:50%;
    background:rgba(255,255,255,.15);
    color:#ffc107;
    font-size:25px;
}

.project-sidebar-cta h3{
    margin:0 0 15px;
    color:#ffffff;
    font-size:24px;
    line-height:1.35;
    font-weight:800;
}

.project-sidebar-cta p{
    margin:0 0 25px;
    color:rgba(255,255,255,.9);
    font-size:15px;
    line-height:1.8;
}

.project-sidebar-cta a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:0 28px;
    border-radius:50px;
    background:#ffc107;
    color:#12355b;
    font-size:15px;
    font-weight:700;
    text-decoration:none;
    transition:.3s ease;
}

.project-sidebar-cta a:hover{
    transform:translateY(-3px);
    background:#ffd04a;
}


/*=========================================================
    TABLET
=========================================================*/

@media(max-width:991px){

    .project-details-hero{
        min-height:440px;
    }

    .project-details-hero-content h1{
        font-size:44px;
    }

    .project-details-layout{
        grid-template-columns:1fr;
    }

    .project-details-sidebar{
        display:grid;
        grid-template-columns:1fr 1fr;
        align-items:start;
    }

    .project-details-support{
        grid-template-columns:auto minmax(0,1fr);
    }

    .project-details-support-btn{
        grid-column:1 / -1;
        width:max-content;
    }
}


/*=========================================================
    MOBILE
=========================================================*/

@media(max-width:768px){

    .project-details-hero{
        min-height:420px;
    }

    .project-details-hero > .container{
        padding:0 15px;
    }

    .project-details-hero-content{
        padding:50px 10px;
    }

    .project-details-hero-content h1{
        font-size:34px;
        line-height:1.25;
    }

    .project-details-meta{
        gap:12px;
    }

    .project-details-meta span{
        font-size:13px;
    }

    .project-details-breadcrumb{
        gap:8px;
        margin-top:25px;
        font-size:13px;
    }

    .project-details-section{
        padding:60px 0 70px;
    }

    .project-details-section > .container{
        padding:0 15px;
    }

    .project-details-main{
        border-radius:20px;
    }

    .project-details-image{
        height:280px;
    }

    .project-details-content{
        padding:35px 25px 40px;
    }

    .project-details-content h2{
        font-size:28px;
    }

    .project-details-intro{
        font-size:18px;
    }

    .project-details-description{
        font-size:16px;
        line-height:1.85;
    }

    .project-information{
        margin-top:40px;
    }

    .project-information h3{
        font-size:22px;
    }

    .project-information-grid{
        grid-template-columns:1fr;
    }

    .project-details-support{
        display:flex;
        flex-direction:column;
        align-items:flex-start;
        padding:25px 20px;
        border-radius:18px;
    }

    .project-details-support-btn{
        width:100%;
    }

    .project-details-sidebar{
        display:flex;
        flex-direction:column;
    }

    .project-sidebar-card{
        padding:25px;
    }

    .project-sidebar-cta{
        padding:30px 25px;
    }
}


/*=========================================================
    SMALL MOBILE
=========================================================*/

@media(max-width:480px){

    .project-details-hero-content h1{
        font-size:29px;
    }

    .project-details-content{
        padding:30px 18px 35px;
    }

    .project-details-content h2{
        font-size:25px;
    }

    .project-details-category{
        font-size:11px;
    }

    .project-details-image{
        height:240px;
    }

    .project-information-item{
        padding:16px;
    }

    .project-sidebar-item{
        grid-template-columns:70px minmax(0,1fr);
        gap:12px;
    }

    .project-sidebar-item img,
    .project-sidebar-placeholder{
        width:70px;
        height:65px;
    }
}
/* =========================================================
   PROJECT REACTION BOX
========================================================= */

.project-reaction-box {
    margin-top: 55px;
    margin-bottom: 55px;
    padding: 30px 32px;
    background: #f8fbff;
    border: 1px solid #e3ebf5;
    border-radius: 18px;
    box-shadow: 0 8px 25px rgba(15, 43, 80, 0.05);
}

.project-reaction-content {
    margin-bottom: 22px;
}

.project-reaction-content h3 {
    margin: 0 0 7px;
    color: #173f6f;
    font-size: 20px;
    font-weight: 750;
    line-height: 1.4;
}

.project-reaction-content p {
    margin: 0;
    color: #718096;
    font-size: 14px;
    line-height: 1.6;
}


/* =========================================================
   REACTION BUTTONS
========================================================= */

.project-reaction-buttons {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.project-reaction-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    min-width: 145px;
    min-height: 54px;

    padding: 13px 20px;

    border: 1px solid #dbe5f0;
    border-radius: 12px;

    background: #ffffff;
    color: #344054;

    font-family: inherit;
    font-size: 14px;
    font-weight: 700;

    cursor: pointer;

    box-shadow: 0 5px 14px rgba(15, 43, 80, 0.06);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease;
}


/* Emoji */

.project-reaction-emoji {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;

    font-size: 21px;
    line-height: 1;

    transition: transform 0.2s ease;
}


/* Count */

.project-reaction-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 25px;
    height: 25px;

    padding: 0 7px;

    border-radius: 50px;

    background: #f1f5f9;
    color: #64748b;

    font-size: 12px;
    font-weight: 800;

    transition:
        background 0.2s ease,
        color 0.2s ease;
}


/* =========================================================
   HOVER
========================================================= */

.project-reaction-btn:hover {
    transform: translateY(-3px);

    box-shadow:
        0 10px 22px rgba(15, 43, 80, 0.11);
}

.project-reaction-btn:hover .project-reaction-emoji {
    transform: scale(1.15);
}


/* =========================================================
   LIKE BUTTON
========================================================= */

.project-like-btn:hover {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #1764b5;
}

.project-like-btn:hover .project-reaction-count {
    background: #dbeafe;
    color: #1764b5;
}


/* =========================================================
   DISLIKE BUTTON
========================================================= */

.project-dislike-btn:hover {
    border-color: #fca5a5;
    background: #fff1f2;
    color: #dc2626;
}

.project-dislike-btn:hover .project-reaction-count {
    background: #ffe4e6;
    color: #dc2626;
}


/* =========================================================
   ACTIVE LIKE
========================================================= */

.project-like-btn.active {
    border-color: #1764b5;
    background: #1764b5;
    color: #ffffff;

    box-shadow:
        0 9px 22px rgba(23, 100, 181, 0.25);
}

.project-like-btn.active .project-reaction-count {
    background: rgba(255, 255, 255, 0.2);
    color: #ffffff;
}

.project-like-btn.active .project-reaction-emoji {
    transform: scale(1.15);
}


/* =========================================================
   ACTIVE DISLIKE
========================================================= */

.project-dislike-btn.active {
    border-color: #dc2626;
    background: #dc2626;
    color: #ffffff;

    box-shadow:
        0 9px 22px rgba(220, 38, 38, 0.22);
}

.project-dislike-btn.active .project-reaction-count {
    background: rgba(255, 255, 255, 0.2);
    color: #ffffff;
}

.project-dislike-btn.active .project-reaction-emoji {
    transform: scale(1.15);
}


/* =========================================================
   BUTTON PRESS
========================================================= */

.project-reaction-btn:active {
    transform: translateY(0) scale(0.97);
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .project-reaction-box {
        margin-top: 40px;
        margin-bottom: 40px;
        padding: 25px 20px;
        border-radius: 15px;
    }

    .project-reaction-content h3 {
        font-size: 18px;
    }

    .project-reaction-buttons {
        width: 100%;
        gap: 10px;
    }

    .project-reaction-btn {
        flex: 1;
        min-width: 0;
        min-height: 52px;
        padding: 12px 14px;
    }

}
/* =========================================================
   REACTION PROCESSING STATE
========================================================= */

.project-reaction-btn.processing {
    opacity: 0.65;
    pointer-events: none;
    transform: scale(0.98);
}

.project-reaction-btn.processing
.project-reaction-emoji {
    animation: projectReactionPulse 0.7s ease-in-out infinite;
}

@keyframes projectReactionPulse {

    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.2);
    }

    100% {
        transform: scale(1);
    }

}