.fic-wrapper {
   margin: 20px 0;
}

.fic-frame-select {
   width: 100%;
   padding: 8px;
   margin-bottom: 15px;
}

.fic-choose-file {
   padding: 10px 15px;
   background: #0073aa;
   color: #fff;
   border: none;
   cursor: pointer;
   border-radius: 4px;
}

.fic-choose-file[disabled] {
   background: #888;
   cursor: not-allowed;
}

.fic-preview-area {
   margin-top: 20px;
}

/* Modal */
.fic-modal {
   display: none;
   position: fixed;
   inset: 0;
   background: rgba(0, 0, 0, 0.75);
   z-index: 999999;
}

.fic-modal-content {
   background: #fff;
   width: 70%;
   margin: 40px auto;
   padding: 20px;
   position: relative;
}

.fic-image-container {
   max-height: 45vh;
   overflow: hidden;
}

.fic-controls {
   margin-top: 20px;
}

.fic-close-modal {
   position: absolute;
   right: 15px;
   top: 15px;
   border: none;
   background: none;
   font-size: 28px;
   cursor: pointer;
}

/* Ratio Buttons */
.fic-ratio-button {
   display: inline-block;
   border: 1px solid #ccc;
   padding: 6px;
   margin: 5px;
   text-align: center;
   cursor: pointer;
   border-radius: 4px;
}

.fic-ratio-thumb {
   width: 70px;
   background: #eee;
   margin-bottom: 5px;
}

.fic-btn {
   padding: 10px 15px;
   border: none;
   cursor: pointer;
   margin-right: 8px;
}

.fic-green {
   background: #2ecc71;
   color: #fff;
}

.fic-red {
   background: #e74c3c;
   color: #fff;
}

/* Loader overlay */
.fic-loading {
   position: absolute;
   inset: 0;
   background: rgba(255, 255, 255, 0.85);
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   z-index: 999;
   font-size: 14px;
   color: #333;
}

/* Spinner */
.fic-spinner {
   width: 36px;
   height: 36px;
   border: 4px solid #ddd;
   border-top-color: #2a7ae2;
   border-radius: 50%;
   animation: fic-spin 0.8s linear infinite;
   margin-bottom: 10px;
}

@keyframes fic-spin {
   to {
      transform: rotate(360deg);
   }
}

/* Ensure parent positioning */
.fic-preview-area,
.fic-modal-body {
   position: relative;
}