/* =========================================
   CAPTION GENERATOR CARD
========================================= */

.caption-generator-card{

    background:rgba(255,255,255,0.03);

    border:1px solid rgba(255,255,255,0.08);

    border-radius:28px;

    padding:32px;

    margin-top:34px;

    backdrop-filter:blur(12px);
}

.caption-generator-card h2{

    font-size:1.7rem;

    margin-bottom:12px;

    font-weight:700;
}

.caption-generator-card p{

    color:#b4b4b4;

    line-height:1.8;

    margin-bottom:30px;

    max-width:700px;
}



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

.caption-inputs{

    display:grid;

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

    gap:22px;

    margin-bottom:26px;
}



/* =========================================
   INPUT GROUP
========================================= */

.input-group{

    display:flex;

    flex-direction:column;

    gap:10px;
}

.input-group label{

    font-size:0.92rem;

    font-weight:600;

    color:#d8d8d8;
}



/* =========================================
   INPUTS + SELECT
========================================= */

.input-group input,
.input-group select{

    width:100%;

    background:rgba(255,255,255,0.03);

    border:1px solid rgba(255,255,255,0.08);

    border-radius:16px;

    padding:16px 18px;

    color:white;

    font-size:0.95rem;

    outline:none;

    transition:0.25s ease;
}

.input-group input:focus,
.input-group select:focus{

    border-color:rgba(255,0,120,0.4);

    box-shadow:0 0 0 4px rgba(255,0,120,0.08);
}



/* =========================================
   SELECT OPTION FIX
========================================= */

.input-group select option{

    background:#111;

    color:white;
}



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

#captionResults{

    margin-top:36px;
}



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

.caption-result-card{

    background:rgba(255,255,255,0.03);

    border:1px solid rgba(255,255,255,0.08);

    border-radius:28px;

    padding:30px;

    backdrop-filter:blur(12px);
}



/* =========================================
   RESULT TOP
========================================= */

.caption-result-top{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:16px;

    margin-bottom:24px;
}

.caption-result-top h3{

    font-size:1.25rem;

    font-weight:700;
}



/* =========================================
   GENERATED CAPTION
========================================= */

#generatedCaption{

    color:#d2d2d2;

    line-height:2;

    font-size:0.97rem;

    white-space:pre-line;
}



/* =========================================
   COPY BUTTON
========================================= */

.copy-caption-btn{

    background:rgba(255,255,255,0.05);

    border:1px solid rgba(255,255,255,0.08);

    color:white;

    border-radius:14px;

    padding:12px 18px;

    font-size:0.88rem;

    font-weight:600;

    cursor:pointer;

    transition:0.25s ease;
}

.copy-caption-btn:hover{

    background:rgba(255,255,255,0.09);

    transform:translateY(-2px);
}



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

@media(max-width:768px){

    .caption-generator-card{

        padding:24px;
    }

    .caption-result-card{

        padding:24px;
    }

    .caption-result-top{

        flex-direction:column;

        align-items:flex-start;
    }

    .caption-inputs{

        grid-template-columns:1fr;
    }

}