/* ===================================
WATERMARK STUDIO LITE EDITOR
=================================== */

.snf-editor-wrapper{
max-width:1400px;
margin:0 auto;
padding:20px;
}

/* ===================================
LAYOUT
=================================== */

.snf-workspace{
display:flex;
gap:24px;
align-items:flex-start;
}

.snf-sidebar{
    width:340px;
    flex-shrink:0;

    position:sticky;
    top:20px;

    max-height:calc(100vh - 40px);
    overflow-y:auto;
}

.snf-preview-area{
    flex:1;
    min-width:0;

    background:#f8fafc;
    
    position:relative;

overflow-x:auto;
overflow-y:auto;

border-radius:18px;

box-shadow:
0 10px 30px rgba(15,23,42,.08);

background-image:
linear-gradient(
45deg,
rgba(255,255,255,.25) 25%,
transparent 25%,
transparent 50%,
rgba(255,255,255,.25) 50%,
rgba(255,255,255,.25) 75%,
transparent 75%,
transparent
);

background-size:24px 24px;

}

.snf-tool-title{
    text-align:center;
    margin-bottom:6px;
    font-size:42px;
    font-weight:700;
}

.snf-editor-subtitle{
    text-align:center;
    font-size:15px;
    color:#666;
    margin-bottom:30px;
    max-width:700px;
    margin-left:auto;
    margin-right:auto;
}

.snf-tool-heading{

margin:0 0 12px;

font-size:13px;

font-weight:700;

letter-spacing:1px;

color:#0b7db8;

text-transform:uppercase;

}

.snf-tool-divider{

border:none;

border-top:1px solid #e5e7eb;

margin:18px 0;

}

/* ===================================
UPLOAD BOX
=================================== */

.snf-upload-box{
background:#fff;
border:1px solid #e5e5e5;
border-radius:18px;
padding:24px;
text-align:center;
margin-bottom:20px;
}

.snf-upload-btn{
background:#0b7db8;
color:#fff;
border:none;
border-radius:10px;
padding:8px 14px;
cursor:pointer;
font-weight:600;
font-size:14px;
line-height:1.3;
transition:all .2s ease;
}

.snf-logo-upload-wrap{
display:flex;
align-items:center;
gap:8px;
flex-wrap:wrap;
}

.snf-logo-upload-wrap .snf-upload-btn{
margin-bottom:0;
}

.snf-file-name{
font-size:13px;
color:#666;
}

.snf-upload-box .snf-upload-note{

font-size:14px;
font-weight:400;
line-height:1.5;
color:#666;
text-align:center;
margin-top:10px;
margin-bottom:0;

}

/* ===================================
TOOLBAR
=================================== */

.snf-toolbar-wrapper{
background:#fff;
border:1px solid #e5e5e5;
border-radius:18px;
padding:16px;
margin-bottom:20px;
}

.snf-tool-group{
margin-bottom:18px;
}

.snf-tool-heading{
font-weight:700;
margin-bottom:10px;
}

.snf-tool-buttons{
display:flex;
flex-wrap:wrap;
gap:8px;
}

.snf-editor-btn{

border:none;
border-radius:10px;
background:#0b7db8;
color:#fff;

padding:8px 14px;

cursor:pointer;

font-weight:600;

font-size:14px;

line-height:1.3;

transition:all .2s ease;

margin-bottom:8px;

}

/* ===================================
SETTINGS
=================================== */

.snf-settings-box{
background:#fff;
border:1px solid #e5e5e5;
border-radius:18px;
padding:20px;
margin-bottom:20px;
}

.snf-setting-item{
margin-bottom:16px;
}

.snf-setting-item input[type="range"]{
width:100%;
}

/* ===================================
MODERN RANGE SLIDERS
=================================== */

.snf-settings-box input[type="range"]{
    -webkit-appearance:none;
    appearance:none;

    width:100%;
    height:8px;

    background:linear-gradient(
90deg,
#dce6ef 0%,
#cfdbe6 100%
);
    border-radius:50px;

    outline:none;
}

/* Chrome */

.snf-settings-box input[type="range"]::-webkit-slider-thumb{
    -webkit-appearance:none;

    width:20px;
    height:20px;

    border-radius:50%;
    background:#0b7cc1;

    cursor:pointer;

    box-shadow:0 2px 8px rgba(0,0,0,.2);
    
    transition:.2s ease;
}

.snf-settings-box input[type="range"]::-webkit-slider-thumb:hover{
    transform:scale(1.15);
}

/* Firefox */

.snf-settings-box input[type="range"]::-moz-range-thumb{
    width:20px;
    height:20px;

    border:none;
    border-radius:50%;

    background:#0b7cc1;

    cursor:pointer;
}

/* ===================================
CANVAS
=================================== */

.snf-canvas-wrapper{
    background:#f6f8fc;
    border:1px solid #dcdcdc;
    border-radius:18px;

    padding:24px;

    min-height:700px;

    display:flex;
    justify-content:center;
    align-items:flex-start;
    box-shadow:0 4px 20px rgba(0,0,0,.05);
}

#watermarkCanvas{
display:block;
margin:0 auto;
height:auto;
}

#snfFileInfo{

font-weight:700;
color:#334155;

}

/* ===================================
SIDEBAR ACCORDIONS
=================================== */

.snf-sidebar-accordion{
background:#fff;
border:1px solid #e5e5e5;
border-radius:16px;
margin-bottom:16px;
overflow:hidden;
}

.snf-sidebar-accordion summary{
cursor:pointer;
padding:14px 16px;

font-size:16px;
font-weight:700;
color:#1e293b;

list-style:none;

}

.snf-sidebar-accordion summary::-webkit-details-marker{
display:none;
}

.snf-sidebar-accordion summary::before{
content:"▶ ";
font-size:12px;
}

.snf-sidebar-accordion[open] summary::before{
content:"▼ ";
}

.snf-accordion-content{
padding:16px;
border-top:1px solid #eee;
}

.snf-sidebar-accordion summary{
    transition:.2s ease;
}

.snf-sidebar-accordion summary:hover{
    background:#f3f6fb;
}

/* ===================================
RESULT AREA
=================================== */

#snf-watermark-result{
margin-top:20px;
}

.snf-tool-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.snf-editor-btn:hover{

opacity:1;

transform:translateY(-1px);

}

.snf-upload-box,
.snf-toolbar-wrapper,
.snf-settings-box{
    box-shadow:0 4px 18px rgba(0,0,0,.05);
}

/* =========================
UNDO / REDO TOOLBAR
========================= */

.snf-history-toolbar{

    display:flex;
    gap:10px;

    margin-bottom:20px;

}

.snf-history-toolbar .snf-editor-btn{

    height:42px;

    font-weight:600;

}

.snf-history-toolbar .snf-editor-btn{

    flex:1;

}

/* =========================
PREVIEW TOOLBAR
========================= */

.snf-preview-toolbar{

display:flex;
justify-content:space-between;
align-items:center;

padding:16px 20px;

border-bottom:1px solid #e5e7eb;

background:#ffffff;

font-size:13px;
font-weight:600;

color:#475569;

}

.snf-preview-meta{

display:flex;
gap:18px;

}

#snfZoomLevel,
#snfCanvasSize{

padding:4px 10px;

background:#f1f5f9;

border-radius:20px;

}

/* =========================
ZOOM CONTROLS
========================= */

.snf-zoom-controls{

display:flex;
align-items:center;
gap:8px;

}

.snf-zoom-controls button{

width:40px;
height:40px;

display:flex;
align-items:center;
justify-content:center;

border:none;

border-radius:50%;

background:#0b7cc1;
color:#fff;

cursor:pointer;

font-size:24px;
font-weight:700;

padding:0;
margin:0;

line-height:40px;

transition:.2s ease;

}

.snf-zoom-controls button:hover{

background:#085f93;
color:#fff;

}

/* =========================
PDF NAVIGATION
========================= */

.snf-pdf-nav{

display:flex;
align-items:center;
gap:10px;

margin-left:15px;

}

.snf-pdf-nav button{

min-width:60px;
height:36px;

padding:0 10px;

border:none;
border-radius:18px;

background:#0b7cc1;
color:#fff;

cursor:pointer;

font-size:14px;
font-weight:700;

display:flex;
align-items:center;
justify-content:center;

white-space:nowrap;

}

.snf-pdf-nav button:hover{

background:#085f93;

}

#snfPdfPageInfo{

font-size:14px;
font-weight:600;
white-space:nowrap;

}

/* =========================
TEXT WATERMARK ACCORDION
========================= */

.snf-accordion-btn{

display:flex;

align-items:center;

justify-content:space-between;

width:100%;

padding:10px 14px;

margin:0;

box-sizing:border-box;

border:none;

border-radius:8px;

background:#0d63b8;

color:#fff;

cursor:pointer;

text-align:left;

font:inherit;

}

.snf-accordion-arrow{

display:flex;

align-items:center;

justify-content:center;

width:18px;

height:18px;

margin-left:auto;

flex:0 0 18px;

line-height:1;

transition:transform .25s ease;

}

.snf-accordion-arrow::before{
content:"▼";
display:block;
font-size:12px;
line-height:1;
}

.snf-accordion-btn.active .snf-accordion-arrow{

transform:rotate(180deg);

}

.snf-accordion-content{

display:block;

overflow:hidden;

padding:12px 0 0;

margin:0;

}

.snf-apply-all-pages{

margin:18px 0 0 0;

padding:16px 0 0 0;

border-top:1px solid #e5e5e5;

text-align:center;

}

.snf-delete-watermark{

margin-top:12px;

text-align:center;

}

/* =========================
SCROLL HINT
========================= */

.snf-scroll-hint{

display:none;

}

@media(max-width:900px){

.snf-scroll-hint{

display:block;

padding:6px 10px;

background:#fff8d6;
color:#444;

font-size:12px;
font-weight:600;

text-align:center;

border-bottom:1px solid #ddd;

}

}

/* =========================
FLOATING CROP TOOLBAR
========================= */

.snf-canvas-wrapper{
position:relative;
}

#snfCropToolbar{

display:none;

position:absolute;

z-index:999;

background:#ffffff;

padding:8px;

border-radius:12px;

box-shadow:
0 6px 20px rgba(0,0,0,.15);

gap:8px;

}

#snfCropToolbar button{

padding:8px 12px;

font-size:13px;

}

/* =========================
HIDE LEGACY CROP BUTTONS
========================= */

#applyCropBtn,
#cancelCropBtn{
display:none !important;
}

#watermarkColor{
width:100%;
height:42px;
border:1px solid #cfd6df;
border-radius:8px;
cursor:pointer;
background:#fff;
padding:2px;
box-sizing:border-box;
}

#deleteWatermarkBtn{

background:#fff;

color:#d14343;

border:1px solid #d14343;

}

#deleteWatermarkBtn:hover{

background:#d14343;

color:#fff;

}

/* ===================================
RESPONSIVE
=================================== */

@media(max-width:900px){

.snf-workspace{
    flex-direction:column;
}

.snf-sidebar{
    width:100%;
    position:static;
    max-height:none;
}

.snf-preview-area{
    width:100%;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
}

.snf-canvas-wrapper{
    min-height:auto;

    overflow:scroll;

    -webkit-overflow-scrolling:touch;

    scrollbar-width:auto;

    scrollbar-color:#0b7cc1 #e5e7eb;
}

.snf-canvas-wrapper::-webkit-scrollbar{
    width:12px;
    height:12px;
}

.snf-canvas-wrapper::-webkit-scrollbar-track{
    background:#e5e7eb;
}

.snf-canvas-wrapper::-webkit-scrollbar-thumb{
    background:#0b7cc1;
    border-radius:6px;
}

#watermarkCanvas{
    max-width:none;
}

}