/* ===================================================================================================== 
   2Steps Viewer - Production CSS (Corrected Grid Logic)
===================================================================================================== */

.ts-viewer {
    position: relative !important;
    width: 100% !important;
    max-width: 100vw !important;
    background: #ffffff !important;
    font-family: sans-serif !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.ts-viewer table, .ts-viewer td, .ts-viewer tr {
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    border-spacing: 0 !important;
    border-collapse: collapse !important;
}

.ts-main {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    background: #ffffff !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    display: block !important;
}

/* ANTI-SNIP LAYER */
.ts-main::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: transparent !important;
    z-index: 5 !important;
    pointer-events: none !important;
}

@media print {
    .ts-main::before { background: #000000 !important; }
}

#ts-main-image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* WATERMARK */
.ts-main::after {
    content: "2steps.gr" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) rotate(-30deg) !important;
    font-size: 52px !important;
    font-weight: bold !important;
    color: rgba(128, 128, 128, 0.40) !important;
    filter: blur(1px) !important;
    pointer-events: none !important;
    z-index: 10 !important;
    display: block !important;
}

/* GRID OVERLAY SYSTEM - ΔΙΟΡΘΩΜΕΝΟ */
.ts-grid-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    pointer-events: none !important;
    z-index: 50 !important;
    display: none !important; 
}

/* Κανόνας Τρίτων - Ενεργοποίηση */
.ts-grid-overlay.rule-of-thirds {
    display: block !important;
    background-image: 
        linear-gradient(to right, rgba(255, 255, 255, 0.6) 1.5px, transparent 1.5px), 
        linear-gradient(to bottom, rgba(255, 255, 255, 0.6) 1.5px, transparent 1.5px);
    background-size: 33.33% 33.33%;
    border: 1.5px solid rgba(255, 255, 255, 0.6);
}

/* Χρυσή Τομή - Ενεργοποίηση */
.ts-grid-overlay.golden-ratio {
    display: block !important;
    background-image: 
        linear-gradient(to right, rgba(255, 215, 0, 0.6) 1.5px, transparent 1.5px),
        linear-gradient(to bottom, rgba(255, 215, 0, 0.6) 1.5px, transparent 1.5px);
    background-size: 61.8% 61.8%;
    border: 1.5px solid rgba(255, 215, 0, 0.6);
}

/* CONTROLS & UI */
.ts-controls {
    position: absolute !important; 
    top: 10px !important; 
    right: 10px !important; 
    z-index: 100 !important; 
    display: flex !important; 
    gap: 5px !important;
}

.ts-prev, .ts-next {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 50px !important;
    height: 50px !important;
    background: rgba(0, 0, 0, 0.5) !important;
    color: #FFD700 !important;
    border: none !important;
    outline: none !important;
    font-size: 30px !important;
    cursor: pointer !important;
    z-index: 20 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0.8 !important;
    transition: opacity 0.2s !important;
}
.ts-prev { left: 10px !important; }
.ts-next { right: 10px !important; }
.ts-prev:hover, .ts-next:hover { opacity: 1 !important; }

.ts-caption {
    text-align: center !important; 
    font-size: 14px !important; 
    padding: 8px !important;
    background: #000000 !important; 
    color: #FFFF00 !important; 
    font-weight: normal !important;
}

.ts-strip {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px 4px !important;
    margin: 0 !important;
    background: #ffffff !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    width: 100% !important;
}

@media (min-width: 768px) {
    .ts-strip { justify-content: center !important; }
}

.ts-thumb {
    width: 70px !important;
    height: 52px !important;
    object-fit: cover !important;
    cursor: pointer !important;
    border: 2px solid #000000 !important;
    transition: border-color 0.2s ease !important;
    flex-shrink: 0 !important;
}

.ts-thumb:hover, .ts-thumb.active { border-color: #FF0000 !important; }

.ts-strip::-webkit-scrollbar { height: 4px !important; }
.ts-strip::-webkit-scrollbar-track { background: #ffffff !important; }
.ts-strip::-webkit-scrollbar-thumb { background: #cccccc !important; }

.ts-loading {
    border: 4px solid #f3f3f3; 
    border-top: 4px solid #FFD700;
    border-radius: 50%; 
    width: 30px; height: 30px;
    animation: spin 1s linear infinite;
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%); z-index: 99;
}
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }