/* =========================================
   TOOL WRAPPER
========================================= */

.tool-wrapper{
    width:100%;
    max-width:1100px;
    margin:0 auto;
}


/* =========================================
   PREVIEW
========================================= */

.tool-wrapper [data-role="preview"]{
    display:none;
    margin-top:20px;
}

.preview-container{
    display:flex;
    gap:20px;
    flex-wrap:wrap;
}

/* card */
.preview-wrapper{
    flex:1;
    min-width:300px;
    border:1px solid #e5e7eb;
    border-radius:8px;
    padding:15px;
    background:#fff;
    display:flex;
    flex-direction:column;
}

/* header */
.preview-title{
    display:flex;
    justify-content:space-between;
    margin-bottom:10px;
    font-weight:600;
}

/* preview box ثابت */
.preview-content{
    border:1px solid #eee;
    background:#f9f9f9;

    height:520px;      /* ثابت */
    overflow:hidden;

    display:flex;
    align-items:center;
    justify-content:center;
}

/* image */
.page-preview{
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    object-fit:contain;
}


/* =========================================
   CONTROLS
========================================= */

.tool-wrapper [data-role="controls"]{
    display:none;
    margin-top:18px;
}

/* grid الرئيسي */
.controls-grid{
    display:grid;
    grid-template-columns: 220px 1fr 1fr 240px;
    gap:12px 16px;
    align-items:end;
}

/* group */
.control-group{
    display:flex;
    flex-direction:column;
    gap:4px;
}

/* labels */
.control-group label{
    font-size:12px;
    color:#6b7280;
    font-weight:500;
    margin-bottom:2px;
}

/* inputs */
.control-group input,
.control-group select{
    height:34px;
    padding:6px 10px;
    border:1px solid #e5e7eb;
    border-radius:6px;
    background:#fff;
    font-size:13px;
}


/* manual controls (Left Right Top Bottom) */
[data-role="manual-controls"] > div{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
}

[data-role="manual-controls"] > div > div{
    display:flex;
    flex-direction:column;
    gap:2px;
}

[data-role="manual-controls"] input{
    height:32px;
    width:70px;
    padding:5px 8px;
    font-size:12px;
}


/* range grid */
[data-role="range-controls"] > div{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:8px;
    align-items:center;
}

/* action buttons */
.tool-wrapper .action-buttons{
    display:flex;
    gap:8px;
    margin-top:12px;
    justify-content:flex-start;
}


/* tablet */
@media (max-width:1100px){

.controls-grid{
    grid-template-columns:repeat(2,1fr);
}

[data-role="manual-controls"] > div{
    grid-template-columns:1fr 1fr;
}

}


/* mobile */
@media (max-width:600px){

.controls-grid{
    grid-template-columns:1fr;
}

[data-role="manual-controls"] > div{
    grid-template-columns:1fr 1fr;
}

}
/* =========================================
   BUTTONS
========================================= */

.action-buttons{
    display:flex;
    gap:10px;
    margin-top:20px;
    flex-wrap:wrap;
}

.btn{
    padding:10px 18px;
    border-radius:8px;
    border:none;
    cursor:pointer;
}

.btn-primary{
    background:#01AF7A;
    color:#fff;
}

.btn-secondary{
    background:#f1f5f9;
}


/* =========================================
   LOADING
========================================= */

.tool-wrapper [data-role="loading"]{
    display:none;
    text-align:center;
    margin:20px 0;
}

.loading-spinner{
    font-size:32px;
    animation:spin 1s linear infinite;
}

@keyframes spin{
    from{transform:rotate(0)}
    to{transform:rotate(360deg)}
}


/* =========================================
   ERROR
========================================= */

.tool-wrapper [data-role="error"]{
    display:none;
    padding:12px;
    background:#fee2e2;
    color:#b91c1c;
    border-radius:6px;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width:768px){

.preview-container{
    flex-direction:column;
}

.action-buttons{
    flex-direction:column;
}

.btn{
    width:100%;
}

}