:root {
	--primary:#fff;
	--secondary:#121212;
	--gray:#222222;
	--gray-light:#a1a1a1;
	--selected-color:#333333;
	--purple-light:#bb86fc;
	--dark-purple:#3a2a4c;
	--gray-transparent:#12121299;
	--hover-color:#3a2a4c;
	--hover-li:#333;
	--right-title:#707070;
	--right-text:#a1a1a1;
	--right-label:#cbcbcb;
	--folder-color:#9f9f9f;
	
}
/* ===== LIGHT THEME ===== */
body.light-mode {
	--primary:#323130;
    --secondary:#ffffff;
	--gray:#eeeeee;
	--gray-light:#323130;
	--selected-color:#ffffff;
	--purple-light:#474747;
	--dark-purple:#E2E2E2;
	--gray-transparent:#ffffff;
	--hover-li:#E2E2E2;		
	--hover-color:#E2E2E2;
	--right-title:#323130;
	--right-text:#5F6368;
	--right-label:#474747;
	--folder-color:#000;
}
#fm-downloads-app {
       display: flex;
    /* min-height: 100vh; */
    position: relative;
    margin-top:70px;
    background:var(--secondary);
    height: 100dvh;
   
	
}


/* LEFT PANEL */
#fm-left-panel {
    width: 260px;
    background:var(--secondary);
    color:var(--primary);
    height: 100vh;
    padding: 10px;
    overflow-y: auto;
	position:sticky;
    top: 100px;
    padding-top:50px;
}


/* ROOT */
.fm-root-label {
    display: flex;
    align-items: center;
    font-weight: 600;
    padding: 6px;
    cursor: pointer;
    border-radius: 8px;
	
}

/* TREE */
.fm-tree ul {
    list-style: none;
    padding-left: 18px;
    margin: 0;
    display: none;
}



/* NODE */
.fm-node {
    display: flex;
    align-items: center;
    padding: 4px 6px;
    border-radius: 4px;
    cursor: pointer;
}

.fm-node:hover {
    background:var(--hover-li);
}

.fm-tree li.active > .fm-node {
    background:var(--hover-color);
    font-weight: 600;
}

/* FOLDER ICON */
.fm-root .fa-folder-o{
    margin-right: 6px;
	font-size: 18px;
	color:var( --e-global-color-ad9be6a);
}
/* COLLAPSE */
.fm-tree li.open > ul {
    display: block;
}

#fm-right-panel {
    flex: 1;
    display: flex;
    flex-direction: column;
    height: calc(100dvh - 70px);
	   min-width: 0;
    
	position:relative;
	
}
div#fm-right-panel-content{
    flex: 1;
   background: var(--theme-filelist-bg);
    padding:0 10px;
    overflow: hidden;
	position:relative;
}
.fm-panel-title {
    font-weight: 600;
    margin-bottom: 10px;
}

.fm-tree ul {
    list-style: none;
    padding-left: 15px;
}

.fm-tree li {
    cursor: pointer;
    padding: 4px 0;
}

.fm-tree li span {
    display: inline-block;
    color:var( --primary);
    font-size: 14px;
    max-width: 150px;
    overflow: clip;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fm-tree li.active > span {
    font-weight: 600;
    color: #0073aa;
}

.fm-placeholder {
    color: #fff;
    font-size:14px;
}
.fm-category-content{
flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0;
   height:100%;
	padding: 0px 10px 0;
    margin-top: 20px;

}
/* TOGGLE ARROW */
.fm-toggle {
    width: 12px;
    margin-right:10px;
    font-size: 11px;
    color: #aaa;
    display: inline-block;
    text-align: center;
}

/* Collapsed ▶ */
.fm-tree li:not(.open) > .fm-node > .fm-toggle::before {
    content: '▶';
	font-size: 10px;
   color:var( --e-global-color-ad9be6a);
}

/* Expanded ▼ */
.fm-tree li.open > .fm-node > .fm-toggle::before {
    content: '▼';
	font-size: 10px;
    color:var( --e-global-color-ad9be6a);
}

/* Hide arrow if no children */
.fm-tree li:not(:has(ul)) > .fm-node > .fm-toggle {
    visibility: hidden;
}

/* ROOT TOGGLE ARROW */
.fm-root-toggle {
    width: 12px;
    margin-right:10px;
    font-size: 11px;
    color: #aaa;
    display: inline-block;
    text-align: center;
}

/* Collapsed */
.fm-root.collapsed .fm-root-toggle::before {
    content: '▶';
	font-size: 10px;
   color:var( --e-global-color-ad9be6a);
}

/* Expanded */
.fm-root:not(.collapsed) .fm-root-toggle::before {
    content: '▼';
	font-size: 10px;
    color:var( --e-global-color-ad9be6a);
}
.fm-downloads-grid{
--ui-thumbSize: 160px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--ui-thumbSize), 1fr));
  gap:15px;
  justify-content: start;
	padding-top:5px;
}
.fm-download-box.fm-child-term {
	    height: 42px !important;
    position: relative;
    text-align: left;
    border:1px solid var(--e-global-color-b35e9eb);
	
    box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, .2);
    background-color:var(--secondary);
    display: flex;
    gap: 10px;
    justify-content: flex-start;
    align-items: center;
    border-radius: 5px;
    padding: 10px;
}
.fm-download-box.fm-child-term i.fa.fa-folder-o{
	font-size: 20px;
    color:var(--folder-color);
}
.fm-download-box.fm-child-term .fm-download-title{
	margin:inherit;
}
.fm-download-title {
    color:var( --folder-color);
    font-size: 14px;
    font-weight:400;
	max-width:120px;
    overflow: clip;
    white-space: nowrap;
    text-overflow: ellipsis;
	cursor:pointer;
	margin: 0 auto;
	text-align:center;
}
.fm-download-box img{
	width:100%;
	border-radius:4px;
}
.fm-download-box {
    height: 160px;
}
.fm-download-thumb{
	background-size: cover;
	height: calc(100% - 24px);
    border-radius:4px;
    position: relative;
    background-size:cover;
   width:100%;
    background-position: center top;
    background-repeat: no-repeat;
    transition: border-color 150ms ease-out, border-width 75ms ease-out, border-radius 500ms ease, box-shadow 150ms ease-out, background 500ms ease, background-color 200ms;
    box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, .2);
    background-color:var(--secondary);
}
.tooltip {
 	position:inherit;
    cursor: pointer;
    display: inline-block;
    opacity:1;
}

.tooltip .tooltip-text {
   visibility: hidden;
    width: max-content;
    background-color:var(--purple-light);
    color:#fff;
    text-align:left;
    padding: 5px 10px;
    border-radius: 4px;
    position: absolute;
    z-index: 10;
    bottom: -50px;
    left:50%;
    transform: translateX(-50%);
    opacity: 0;
    transition: opacity 0.3s;
    font-size: 12px;
  
}

.fm-download-title:hover .tooltip-text {
    visibility: visible;
    opacity: 1;
	
    white-space:normal;
/* 	max-width:100%; */
}
.fm-download-title.fm-thumb-title.tooltip {
    overflow: inherit;
    text-align: center;
    margin: 0 auto;
    width: 100%;
    display: block;
	max-width:100%;
	word-break: break-all;
    white-space:normal;
  	
}
#fm-left-panel .fm-root-label img{
	background-size: cover;
    margin-left: 7px;
    width: 20px;
    height: 20px;
    display: inline-block;
    border-radius: 50%;
    margin-right: 10px;
}
span.fm-file-ext {
    position: absolute;
    right: 5px;
    bottom: 5px;
    font-size: 10px;
   color:var( --e-global-color-ad9be6a);
    border: 1px solid var(--e-global-color-text);
    padding: 2px 4px;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    text-transform: uppercase;
    border-radius: 4px;
    font-weight: 700;
    background-color:var(--gray-transparent);
}

/*asmita*/
.fm-download-link {
    height: 100%;
	position:relative;
}
.fm-download-thumb{
	position:relative;
}
.img-overlay{
	position: absolute;
    height: 100%;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    transition: opacity 200ms;
    border-top-left-radius:4px;
    border-top-right-radius:4px;
    background-color:var(--purple-light);
}

.fm-download-box.active .img-overlay{
	 opacity:0.12;
}
#fm-selection-bar {
    position: absolute;
    top: 10px;
    left:0px;
    right: 60px;   /* instead of width */
    display:none;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    z-index: 999;
/*     max-width: calc(100% - 120px); */
}

.fm-selection-left {

    display: flex;
    align-items: center;
    line-height: 42px;
    background: var(--selected-color);
    padding: 0 10px;
    border-radius: 4px;
    cursor: pointer;
   	gap: 10px;
    white-space: nowrap;
}

#fm-selection-clear {
    background: transparent;
    border: none;
    color:var(--purple-light);
    font-size: 18px;
    cursor: pointer;
    padding: 0;
    margin-right: 10px;
    font-weight: 600;
}
button.fm-icon-btn,
a#fm-info-download,
#fm-view-btn{
    background: transparent;
    border: none;
    font-weight: 600;
    height: 42px;
    width: 42px;
    border-radius: 50%;
    color:var(--purple-light);
    font-size: 21px;
   line-height: 0;
	
}
button.fm-icon-btn-o {
    background: transparent;
    border: none;
    font-weight: 600;
    height: 42px;
    width: 42px;
    border-radius: 50%;
    color: var(--right-label);
    font-size: 21px;
   
}
button.fm-icon-btn:hover {
    color:var(--purple-light);
}
button.fm-icon-btn:hover, button.fm-icon-btn-o:hover,
a#fm-info-download:hover,
button#fm-view-btn:hover{
    background-color:var(--hover-li);
	text-decoration:none;
    border: none;
	
	
}
.fm-selection-left:hover {
    background:var(--hover-color);
}

#fm-selection-count {
	
    font-size:15px;
   
}

.fm-download-box.active {
outline: 1px solid var(--purple-light);
    border-radius: 4px;
    background:var(--dark-purple);
}
/* responsive */


/* Sidebar */


/* Toggle Button */
.fm-sidebar-toggle {
     display: none;
    background: #22222200 !important;
    color: #fff;
    border: none !important;
    cursor: pointer;
    padding: 0 !important;
    line-height: 0 !important;
    font-size: 25px !important;
}

/* Overlay */
#fm-overlay {
    display: none;
}
.d-sm-none{
	display:none;
}
.fm-sidebar-back {
    display: none;
   
    z-index: 1101;
    background: transparent !important;
    color: #fff;
    border: none !important;
    font-size: 22px !important;
    cursor: pointer;
}
.align-items-center{
	align-items:center;
}

/* Pagination */
.fm-download-thumb {
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    min-height: 140px;
}

.fm-pagination-modern {
    display: flex;
    align-items: center;
    justify-content: center;
   
    padding: 10px 14px;
  
    color: #ddd;
    font-size: 14px;
    position: sticky;
    bottom: 0;
    width: 100%;
    background:var(--selected-color);
    z-index: 99999;
    text-align: center;
}

.fm-pagination-modern button {
    background:transparent;
    border: 1px solid transparent;
    color:#a1a1a1;
    padding:0;
    border-radius: 4px;
    cursor: pointer;
    min-width: 30px;
}
.fm-pagination-modern button:hover,
.fm-pagination-modern button:focus{
	border:none !important;
	background:transparent !important;
}

.fm-pagination-modern button:focus i{
	color:#5a44d2;
}
.fm-pagination-modern button i{
	font-size:20px;
}
.fm-pagination-modern button:hover:not(:disabled) {
    background: #3a3a3a;
    color:var(--primary);
	
}

.fm-pagination-modern button:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}
.fm-page-indicator{
	display: flex;
       gap: 8px;
    font-size: 15px;
	align-items:center;
}
.fm-page-indicator {
    padding: 0 10px;
    color: #bbb;
    white-space: nowrap;
}

.fm-page-indicator strong {
   color: #a1a1a1;
    font-weight: 500;
	
}

/*Breadcrumbs*/
.fm-breadcrumbs {
       background: var(--theme-filelist-bg);
    font-size: 16px;
    color: #bbb;
	border-radius: 8px 8px 0 0;
	padding:15px 15px 0;
	display: flex;
    align-items: center;
    flex-wrap: wrap;
	  gap: 5px;

}

.fm-breadcrumbs a {
    color:var(--gray-light);
    text-decoration: none;
	padding:5px;
}

.fm-breadcrumbs a:hover {
    background-color:var(--hover-color);
	
}

.fm-bc-current {
   
    font-weight: 500;
color:var( --e-global-color-ad9be6a);
    font-weight: 500;
    max-width: 200px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
 	display: inline-block;
}

.fm-bc-sep {
       margin: 0 5px;
    color: #707070;
    font-size: 18px;
}

.fm-root-label.active {
	
    background:var(--hover-color);
    font-weight: 600;
}

.fm-file-checkbox {
    display: none; /* hidden by default */
       position: absolute;
    top: -3px;
    right: 0px;
    z-index: 10;
    margin: 0;
}

.fm-download-box {
    position: relative;
}

.fm-download-box.active .fm-file-checkbox {
    display: block;
}
.rightside-section{
	width: 300px;
    background:var(--secondary);
    height: 100dvh;
}
/* custom scroll */

.fm-category-content::-webkit-scrollbar {
  width: 4px;  
  height:6px; 
}
.fm-selection-actions{
/* 	    padding-right:30px; */
	flex-shrink: 0;
}

.fm-category-content::-webkit-scrollbar-track {
  background-color:var(--selected-color); 
  border-radius: 10px;      
}


.fm-category-content::-webkit-scrollbar-thumb {
  background-color:#282828;  
  border-radius: 10px;     
}


.fm-category-content::-webkit-scrollbar-thumb:hover {
  background-color: #555;  
}
.active-page{
	background:var(--secondary);
    padding: 5px 10px;
}
.d-sm-block{
	display:block;
}


/* custom checkbox */

/* Hide the default checkbox */
.fm-file-checkbox {
  -webkit-appearance: none;
  appearance: none;
  width: 18px; 
  height:18px;
  border:1px solid #707070;
  border-radius: 4px; /* Round corners for the checkbox */
   background-color:var(--secondary);
  position: absolute; /* For positioning the checkmark */
  cursor: pointer; /* Show pointer on hover */
  transition: background-color 0.3s, border-color 0.3s; /* Smooth transition */
	right:-4px;
	top:-4px;
	margin:0 !important;
}


.fm-file-checkbox:checked {
  background-color:var(--purple-light); 
  border:1px solid white; 
}


.fm-file-checkbox::before {
	    content: '';
    position: absolute;
    top: 1px;
    left: 5px;
    width: 6px;
    height: 11px;
    border: solid #707070;
    border-width: 0 2px 2px 0;
    transform: rotate(38deg);
}
.fm-file-checkbox:checked::before{
	    border-color:#ffffff;
}
.fm-download-thumb:not(.loaded) .fm-file-ext {
       top: 40%;
    left: 40%;
    bottom: inherit;
    right: inherit;
    font-size: 14px;
    padding: 3px 10px;
}
.fm-download-loading{
	margin: 0;
    width: auto;
    display: inline;
    background:var(--e-global-color-4ffd3b9);
    top: 50%;
    left: 50%;
    border-radius: 5px;
    transform: translate(-50%, -50%);
    position: absolute;
    padding: 10px;
}

/*Right panel*/
.fm-info-panel {
    padding: 16px;
    margin-bottom: 20px;
    width: 300px;
    background:var(--secondary);
    height: 100dvh;
	 position: relative;
    transition: transform 0.3s ease;
}

.fm-info-tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 12px;
}

.fm-info-panel .fm-tab {
    border: none !important;
    background:var(--secondary);
    padding: 6px 12px;
    cursor: pointer;
	text-transform:capitalize;
	border-radius:5px;
	font-size: 14px;
	color: var(--right-text);
}
.fm-info-panel .fm-tab:hover{
	background:var(--hover-color);
	border: none !important;
}
.fm-info-panel .fm-tab.active {
    background:var(--hover-color);
       color: var(--right-text);
    border: none;
}

.fm-tab-content {
    display: none;
}

.fm-tab-content.active {
    display:flex;
}

.fm-thumb {
     max-width: 100%;
    display: block;
    margin: 10px auto;
}

.fm-details-all {
    display: none;
	width:100%;
}
div#fm-info-panel {
    width: 300px;
    padding: 0 15px;
}
div#fm-info-panel button.toggle-btn{
	
	top:20px;
}
.fm-info-header{
	margin:20px 0;
}
div#fm-info-panel h3#fm-info-title,
.fm-lightbox-info h3#fm-info-name{
   color: var(--right-label);
    font-size: 22px;
    text-overflow: ellipsis;
    white-space: nowrap;
   	max-width: 200px;
   margin:0 !important;
    overflow: clip;
	line-height:30px;
}
.fm-lightbox-header h3#fm-info-name{
	color: var(--right-label);
	margin: 0;
    font-size: 22px;
}
div#fm-info-panel h3#fm-info-title:hover,
.fm-lightbox-info h3#fm-info-name:hover{
	max-width: 100%;
    white-space: normal;
    overflow: auto;
    text-overflow: inherit;
} 
.fm-details-folder .text-right{
	color:var(--right-text);
	font-size:14px;
	flex:1;
}
.fm-details-folder .text-left{
	color:var(--right-label);
	font-size:14px;
	flex:2;
}
div#fm-tab-comments {
   
    justify-content: center;
    align-items: center;
    height: 80dvh;
	color: var(--right-text);
}
.main-wrapper {
    display: flex;
    flex: 1;
    min-width: 0;
	position: relative;
}
button.toggle-btn {
    background: transparent;
    border: none;
    width: 30px;
    height:30px;
    display: flex;
    justify-content: center;
    align-items: center;
	position: absolute;
    right:10px;
    top:15px;
	 transition: transform 0.3s ease;
	z-index: 9;
	color: var(--right-label);
}
button.toggle-btn:hover,
button.toggle-btn:focus{
	background:var(--hover-color);
	color:#fff;
	border-radius:50%;
	border:transparent;
	
}
div#fm-info-panel.collapsed {
    transform: translateX(100%);
	width: 50px;  
	 overflow: hidden;
}

div#fm-info-panel.collapsed .toggle-btn {
    transform: rotate(180deg);
}
.fm-listing-img-wrap {
    margin: 15px 0 30px;
}
/* left panel */
#fm-left-panel {
    
    transition: width 0.3s ease;
}

#fm-left-panel.collapsed {
    width: 50px;
	transform: translateX(-100%);
	
}
button#fm-left-collapse {
   position: absolute;
   display:flex;
    border: none;
    left: 12px;
  	z-index: 99;
    top:10px;
}

.fm-header-center-actions {
    display: flex;
    align-items: center;
    justify-content:space-between;   /* CENTER everything */
 
    width: 100%;
    padding: 10px;
    margin-top:0px;
	    position: sticky;
    top: 66px;
    background:var(--secondary);
    z-index:9;
}


.fm-header-icons {
    display: flex;
    align-items: center;
    gap: 8px;
}
.d-none {
    display: none;
}

	
@media(max-width:1024px){
	div#fm-info-panel {
   
    position: absolute;
    right: 0;
    z-index: 99999;
}
	button.toggle-btn{
		 z-index: 999999;
	}
	#fm-downloads-app{
		margin-top: 0px;
	}
	button.toggle-btn{
		top:10px;
	}
	
	
}
/* TABLET / iPAD */
@media (max-width:767px) {
	.d-block{
		display:block;
	}
	.d-flex{
		display:flex;
	}
    /*#fm-left-panel {*/
    /*    position: fixed;*/
    /*    top: 0;*/
    /*    left: 0;*/
    /*    height: 100%;*/
    /*    z-index:9999;*/
    /*    transform: translateX(-100%);*/
	/*	padding-top:10px;*/
    /*}*/

    /*#fm-left-panel.open {*/
    /*    transform: translateX(0);*/
	/*	width: 80%;*/
    /*}*/
	#fm-right-panel{
		margin-left:0;
	}
    .fm-sidebar-toggle {
        display: block;
    }

    #fm-overlay {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.45);
        z-index: 999;
    }

    #fm-overlay.active {
        display: block;
    }
		 #fm-left-panel.open .fm-sidebar-back {
        display: block;
    }

    
    #fm-left-panel.open ~ #fm-right-panel .fm-sidebar-toggle {
        display: none;
    }

	.d-none{
		display:none;
	}
	button#fm-left-collapse{
		display:none;
	}
	.mobile-sidebar{
		padding:10px;
	}
	button#fm-sidebar-toggle{
		    margin-right: 10px;
	}
	.fm-selection-actions {
    	margin-right:0px;
		padding-right:0;
	}
	.fm-lightbox-header h3#fm-info-name{
		font-size: 14px;
	}
	#fm-selection-count{
		    font-size: 14px;
    white-space: nowrap;
   
    overflow: hidden;
	}
	
}

.page-template-page-downloads #wpadminbar {
    display: none!important;
}

@media (max-width: 768px) {
    #fm-left-panel, #fm-info-panel {
        margin-top:10px;
    }
    #fm-left-panel.mobile-hidden,
    #fm-info-panel.mobile-hidden {
        display: none; /* no !important */
    }
	
	
}
main#fm-right-panel button:focus{
	background:transparent;
	border:none !important;
}
.extLabel,
span#fm-info-type{
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    text-transform: uppercase;
    border-radius: 4px;
    font-weight: 700;
    background-color:var(--secondary);
    border: 1.5px solid var(--folder-color);
    color:#707070;
    padding: 2px 4px;
    max-width: 60px;
    white-space: nowrap;
    overflow: hidden;
	    font-size: 14px;
}
.right-panel-closed{
	    right: 95px !important;
}
.left-panel-closed{
	left:55px !important;
}


/* === SWIPER HARD RESET === */
.swiper {
    width: 100%;
/*     height: 100%; */
}

.swiper-wrapper {
    display: flex !important;
    flex-wrap: nowrap !important;
    box-sizing: content-box;
}

.swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items:center;
	background: var(--theme-filelist-bg);
	height: calc(100dvh - 120px);
	
}
.fm-swiper-png-wrap{
	background: url(https://migration.fripac-medis.de/wp-content/uploads/2026/02/transparent_dark.png) repeat;
}
.light-mode .fm-swiper-png-wrap{
	background: url(https://migration.fripac-medis.de/wp-content/uploads/2026/02/transparent_light-1.png) repeat;
}
.swiper-slide {
    flex-shrink: 0 !important;
    width: 100% !important;
    height: 100%;
 
}
.fm-info-png-wrap{
	background: url(https://migration.fripac-medis.de/wp-content/uploads/2026/02/transparent_dark.png) repeat;
}
.light-mode .fm-info-png-wrap{
	background: url(https://migration.fripac-medis.de/wp-content/uploads/2026/02/transparent_light-1.png) repeat;
}
.fm-swiper,
.swiper-wrapper,
.swiper-slide {
    pointer-events: auto;
}
.fm-lightbox {
    position: fixed;
    inset: 0;
    z-index: 999999;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.fm-lightbox.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.fm-lightbox-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.85);
    pointer-events: none;
}

.fm-lightbox-wrapper {
    position: relative;
    height: 100%;
    display: flex;
}

/* Default layout */
.fm-lightbox-slider {
       position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    flex: 1;
    transition: flex 0.3s ease;
}

.fm-lightbox-info {
   width: 300px;
    background:var(--secondary);
    padding: 20px;
    overflow-y: auto;
    transition: transform 0.3s ease, opacity 0.3s ease;
	    position: relative;
}

/* Hide info panel */
.fm-lightbox-info.is-hidden {
    transform: translateX(100%);
    opacity: 0;
    pointer-events: none;
}

/* FULLSCREEN SLIDER MODE */
.fm-lightbox-wrapper.info-collapsed .fm-lightbox-slider {
    flex: 0 0 100%;
}

/* Optional: remove gap visually */
.fm-lightbox-wrapper.info-collapsed .fm-lightbox-info {
    width: 0;
    padding: 0;
}

.swiper-slide {
/*     display: flex;
    justify-content: center;
    align-items: center; */
    background: var(--bg-main);
}

.swiper-slide img {
    max-width: 100%;
/*     max-height: 90vh; */
}

/*#fm-preview-btn {*/
/*    position: fixed;*/
/*    top: 20px;*/
/*    right: 20px;*/
/*    z-index: 1000;*/
/*}*/

.fm-ellipsis-wrap {
    position: relative;
}

.fm-ellipsis-menu {
    position: absolute;
    top: 100%;
    right: 0;
    min-width: 180px;
    background:var(--secondary);
    border-radius: 6px;
    border: 1px solid var(--gray);
    display: none;
    z-index: 9999;
  padding: 5px 0;
    box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12);
}

.fm-ellipsis-menu button {
   width: 100%;
    padding: 7px 14px;
    background: none;
    border: none;
    text-align: left;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap:10px;
    font-weight: 300;
    text-transform: capitalize;
	color: var(--e-global-color-ad9be6a);
}

.fm-ellipsis-menu button:hover {
  background-color: var(--hover-li);
    border: none;
}

.fm-lightbox-slider {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* Header bar */
.fm-lightbox-header {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 10px;

    padding: 10px 14px;
    background:var(--secondary);
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

/* Slider area below header */
.fm-swiper {
    flex: 1;
    min-height: 0;
}

.fm-lightbox-info {
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.fm-lightbox-info.is-hidden {
    transform: translateX(100%);
    opacity: 0;
    pointer-events: none;
}

#fm-lightbox-info-open-btn {
    display: none;
}

#fm-lightbox-info-open-btn.is-visible {
   display: flex;
    justify-content: center;
    align-items: center;
}

.fm-lightbox-footer {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000;
    display: flex;
    align-items: center;
    gap: 14px;
	 pointer-events: auto;
}

/* Pagination text (2 / 4) */
.fm-footer-pagination {
    color:var(--right-label);
    font-size: 14px;
    font-weight: 500;
    min-width: 40px;
    text-align: center;
}

/* Buttons */
.fm-footer-prev,
.fm-footer-next {
    position: relative !important;
    z-index: 1001;
    cursor: pointer;
    pointer-events: auto;
       padding: 0 50px;
    color:#bb86fc;
  opacity:1;
	    top: 4px;
}

.fm-footer-prev::after,
.fm-footer-next::after {
    font-size: 13px;
}

.fm-slide-content {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    overflow: hidden;
}

.fm-slide-content iframe {
    width: 100%;
    height: 100%;
    border: none;
    /*background: var(--bg-main);*/
    background: #fff;
}
/* 🔒 HARD STOP SWIPER WIDTH BUG */
.fm-swiper,
.fm-swiper .swiper-wrapper,
.fm-swiper .swiper-slide {
    width: 100% !important;
    max-width: 100% !important;
}

.fm-swiper .swiper-wrapper {
    transform-style: preserve-3d;
}

.fm-swiper .swiper-slide {
    flex-shrink: 0 !important;
    overflow: hidden !important;
}

/* TXT viewer must NOT affect layout */
.fm-txt-viewer {
    box-sizing: border-box;
    width: 100%;
    max-width: 790px;
    height: 100%;

    margin: 0 auto;
    padding: 30px;

    background: #000;
    color: silver;

    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.6;

    white-space: pre-wrap;
    overflow-wrap: anywhere;
    word-break: break-word;

    overflow-y: auto;
    overflow-x: hidden;

    contain: layout paint size;
}
/* 🔥 FLEXBOX WIDTH FIX — REQUIRED */
.fm-lightbox-wrapper,
.fm-lightbox-slider,
.fm-swiper,
.fm-swiper .swiper-wrapper,
.fm-swiper .swiper-slide,
.fm-slide-content {
    min-width: 0;
}

.fm-xlsx-viewer {
    width: 100%;
    height: 100%;
    overflow: auto;

    padding: 20px;
    background: #111;
    color: #ddd;

    min-width: 0;
    contain: layout paint size;
}

.fm-xlsx-viewer table {
    border-collapse: collapse;
    width: 100%;
    font-size: 14px;
}

.fm-xlsx-viewer td,
.fm-xlsx-viewer th {
    border: 1px solid #333;
    padding: 6px 8px;
    white-space: nowrap;
}

/*//*/

.fm-header-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
   background: var(--theme-filelist-bg);
	    border-radius: 10px 10px 0 0;
}

.fm-view-switch {
    position: relative;
	padding: 15px 16px 0 0;
	display: flex;
    align-items: center;

}
.fm-view-switch button{
	padding:0 !important;
}
.fm-view-switch button:hover i{
	color:#bb86fc !important;
}
.fm-view-switch i{
	color: var(--e-global-color-ad9be6a);
	 font-size: 16px;
}
#fm-view-btn {
    background: transparent;
    border: none;
    font-size: 18px;
    cursor: pointer;
    padding: 6px 10px;
}

.fm-view-menu {
    position: absolute;
    right: 0;
    top: 32px;
    background:var(--secondary);;
    border: 1px solid var(--gray);;
    border-radius: 6px;
	box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12);
    display: none;
    min-width: 180px;
    z-index: 20;
	padding: 15px;
}
.fm-view-menu p{
	color: var(--e-global-color-ad9be6a);
}
.fm-view-item {
    padding: 10px 14px;
    cursor: pointer;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap:15px;
	color: var(--e-global-color-ad9be6a);
}

.fm-view-item:hover {
    background: var(--gray);
}
.align-items-baseline{
	align-items:baseline;
}
button#fm-info-open-btn{
	padding: 0;
}
@media(max-width:768px){
	.fm-lightbox-info{
		position: absolute;
    right: 0;
    width: 250px;
    z-index: 999;
    height: 100%;
	}
	#fm-selection-clear{
		    margin-right: 0px;
	}
	.left-panel-closed{
		left: 0px !important;
	}
}

.fm-download-box {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.fm-search-wrap {
    height: 0;
    overflow: hidden;
    background: var(--secondary);
    transition: all 0.3s ease;
}

.fm-search-wrap.open {
    height: 90px;
    padding: 15px 20px;
}

.fm-search-inner {
    display: flex;
    align-items: center;
    gap: 15px;
}

#fm-search-input {
    flex: 1;
    padding: 10px 15px;
    background: var(--secondary);
    border: 1px solid #333;
    color: var(--right-label);
}

.fm-search-close {
    cursor: pointer;
    font-size: 22px;
    color: var(--right-label);
}

.x-item-disabled {
    cursor: default;
    opacity: .4;
    pointer-events: none;
}
.fm-grid-empty {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    user-select: none;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.fm-grid-empty img {
    max-width: 200px;
    max-height: 150px;
}
.fm-no-results {
    font-size: 16px;
    margin-top: 15px;
    text-align: center;
}