/* ===================== GLOBAL BODY STYLES ===================== */
body {
  margin: 0;
  padding: 0;
  background: url('./xp.webp') no-repeat center center fixed; /* Windows XP wallpaper */
  background-size: cover;
  font-family: Tahoma, sans-serif; /* Classic XP font */
  color: #000;
  height: 100vh;
  overflow: hidden; /* Prevent scrollbars */
}

a{
  text-decoration: none;
  color: #000;
}

/* ===================== DESKTOP AREA ===================== */
.desktop {
  position: relative;
  width: 100%;
  height: calc(100vh - 40px); /* Full height minus taskbar */
  overflow: hidden;
}






/* ===================== My Computer ===================== */
/* XP My Computer Layout */
.mycomputer-layout {
  display: flex;
  height: 100%;
  font-size: 14px;
  overflow-y: hidden; /* যাতে পুরো layout overflow না হয় */
}

/* Left Sidebar */
.mycomputer-layout .sidebar {
  width: 200px;
  background: linear-gradient(to right, #7288FD, #4259D5);
  padding: 10px;
  border-right: 1px solid #99b3e6;
  flex-shrink: 0; /* Sidebar কখনো ছোট হবে না */
  height: 100%; /* sidebar পুরো height নেবে */
  position: sticky; /* স্ক্রলে ফিক্সড থাকবে */
  top: 0; /* top থেকে fix করবে */
}

/* Sidebar each section block */
.sidebar-section {
  margin-bottom: 20px;
  background-color: #AABFFB; /* XP light blue section bg */
  padding: 4px;
  border-radius: 3px;
}

/* Section headings XP blue with gradient */
.sidebar-section h4 {
  margin: 0 0 8px 0;
  font-size: 14px;
  color: #003399;
  border-bottom: 1px solid #99b3e6;
  padding-bottom: 4px;
  background: linear-gradient(to right, #ffffff, #a9b4ed); /* left→right gradient */
  padding: 5px;
  border-radius: 2px;
}

.sidebar-section ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.sidebar-section ul li {
  margin-bottom: 6px;
  cursor: pointer;
  color: #003366;
  padding-left: 4px;
}


.sidebar-section p {
  margin: 4px 0;
  color: #222;
}

/* Main Content Area */
.mycomputer-layout .main-content {
  flex: 1;
  padding: 15px;
  background: #fff;
  overflow-y: auto; /* শুধু main-content স্ক্রল হবে */
  height: calc(100vh - 30px); /* viewport height - কিছু margin */
  box-sizing: border-box;
}

.main-content h4 {
  margin: 10px 0 6px 0;
  font-size: 14px;
  color: #003399;
  border-bottom: 1px solid #ccc;
  padding-bottom: 4px;
}

.main-content .item {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  font-size: 13px;
  cursor: pointer;
}

.main-content .item img {
  width: 24px;
  height: 24px;
  margin-right: 8px;
}

.about-links a {
  display: inline-block;
  margin-right: 15px;
  text-decoration: none;
  color: #003399;
}




/* ===================== TRASH ===================== */
/* Trash Window Grid Layout */
.trash-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 20px;
  margin-top: 10px;
}

.trash-item {
  text-align: center;
  font-size: 12px;
  color: #333;
  cursor: default;
}

.trash-item img {
  width: 48px;
  height: 48px;
  margin-bottom: 5px;
}

.trash-item span {
  display: block;
  word-break: break-word;
}






/* ===================== Memes ===================== */
/* Meme Grid inside Main Content */
.meme-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); /* বড় icon হলে grid একটু wide হবে */
  gap: 35px; 
  margin-top: 15px;
  padding: 10px;
}

/* Each Meme Item */
.meme-item {
  text-align: center;
  font-size: 13px; /* নাম একটু readable হবে */
  color: #333;
  cursor: default;
}

/* Meme Images - Extra Large Icon */
.meme-item img {
  width: 140px;        /* এখন icon আরও বড় */
  height: 140px;
  object-fit: cover;
  margin-bottom: 8px;
  background: #fff;
   object-fit: contain;
}

.meme-item img:hover{
  background-color: #2173b63b;
}

/* Meme filename */
.meme-item span {
  display: block;
  margin-top: 4px;
  word-break: break-word;
}






/* ===================== DESKTOP ICONS ===================== */
.icon {
  width: 90px;
  text-align: center;
  color: white;
  font-size: 12px;
  cursor: default;
  position: absolute; /* Allows free placement */
}

.icon img {
  width: 48px;
  height: 48px;
  display: block;
  margin: 0 auto 5px;
  pointer-events: none; /* Prevent dragging image */
}







/* ===================== TASKBAR ===================== */
.taskbar {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 40px;
  background: linear-gradient(#0c52c9, #083b9e); /* XP Blue */
  display: flex;
  align-items: center;
  padding: 0 0px;
  box-sizing: border-box;
  color: white;
}

/* Start Button as Image */
.start-button {
  cursor: pointer;
  display: flex;
  align-items: center;
}

.start-button img {
  height: 32px;
  width: auto;
  display: block;
  pointer-events: none; /* prevent dragging */
}

/* ===================== START MENU CONTAINER ===================== */
.start-menu {
  position: absolute;
  bottom: 40px;
  left: 0px;
  width: 420px;
  display: none;
  flex-direction: column;
  border: 2px solid #3a6ea5;
  box-shadow: 4px 4px 12px rgba(0,0,0,0.4);
  font-size: 14px;
  background: #d4dff5; /* fallback */
}

/* ===================== TOP BLUE BAR ===================== */
.start-top {
  background: linear-gradient(to bottom, #2670d4, #1650a4);
  padding: 8px 12px;
  color: #fff;
  font-weight: bold;
  font-size: 15px;
  border-bottom: 1px solid #103a74;
}

/* ===================== BODY SPLIT (LEFT + RIGHT) ===================== */
.start-menu-body {
  display: flex;
  flex-direction: row;
  height: auto;
}

/* LEFT PANEL (program list, white background) */
.start-left {
  width: 200px;
  background: #fff;
  border-right: 1px solid #ccc;
  padding: 10px 5px;
}

.start-left a {
  display: flex;
  align-items: center;
  padding: 5px;
  text-decoration: none;
  color: #000;
  font-size: 13px;
}

.start-left a img {
  width: 20px;
  height: 20px;
  margin-right: 6px;
}

/* RIGHT PANEL (blueish XP background) */
.start-right {
  flex: 1;
  background: #e8f0ff; /* XP right bg */
  padding: 10px;
}

.start-right a {
  display: flex;
  align-items: center;
  padding: 4px;
  text-decoration: none;
  color: #000;
  font-size: 13px;
}

.start-right a img {
  width: 20px;
  height: 20px;
  margin-right: 6px;
}

.start-right hr {
  border: none;
  height: 1px;
  background: #bbb;
  margin: 6px 0;
}

/* ===================== BOTTOM LOGOFF ===================== */
.start-bottom {
  display: flex;
  justify-content: space-between;
  background: #dce4f9;
  border-top: 1px solid #aabbdc;
  padding: 6px 10px;
}

.start-bottom button {
  background: linear-gradient(#f7f7f7, #e3e3e3);
  border: 1px solid #aaa;
  padding: 4px 10px;
  cursor: pointer;
  font-size: 13px;
  border-radius: 3px;
}

.start-bottom .logoff {
  color: #e67e22;
}

.start-bottom .shutdown {
  color: #c0392b;
}


/* ===================== WINDOW STYLES ===================== */
.window {
  position: absolute;
  top: 120px;
  left: 120px;
  width: 400px;
  height: 300px;
  background: #f0f0f0;
  border: 2px solid #000080; /* XP blue border */
  display: none; /* Hidden by default */
  flex-direction: column;
  box-shadow: 5px 5px 10px rgba(0,0,0,0.4);
  resize: both; /* Allow resizing */
  overflow: auto;
}

/* Window header (title bar) */
.window-header {
  background: linear-gradient(#2b78e4, #1c4ea1);
  color: white;
  padding: 5px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  user-select: none; /* Prevent text select */
}

/* Window header buttons (minimize, maximize, close) */
.window-header .buttons span {
  margin-left: 5px;
  padding: 2px 6px;
  background: #ccc;
  color: black;
  cursor: pointer;
  font-weight: bold;
}

/* Window main content area */
.window-content {
  /* padding: 10px; */
  flex: 1;
  overflow: auto;
  background: white;
}

/* Maximized window state */
.maximized {
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: calc(100vh - 40px) !important;
}

/* ===================== HIGHLIGHT ICON EFFECT ===================== */
/* .highlight {
  border: 2px solid yellow;
  box-shadow: 0 0 10px yellow;
} */


/* ===================== COPY BAR ===================== */
.copy-bar {
  position: fixed;
  bottom: 50px; /* just above taskbar */
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 14px;
  padding: 6px 15px;
  border-radius: 4px;
  cursor: pointer;
  user-select: none;
  font-family: monospace;
  z-index: 5;
}


/* ===================== LIGHTBOX ===================== */
.meme-lightbox {
  display: none; /* hidden initially */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.8);
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.meme-lightbox img {
  max-width: 80%;
  max-height: 80%;
  border: 4px solid #fff;
  box-shadow: 0 0 15px rgba(255,255,255,0.3);
}

.meme-lightbox .close-btn,
.meme-lightbox .prev-btn,
.meme-lightbox .next-btn {
  position: absolute;
  font-size: 28px;
  color: white;
  cursor: pointer;
  background: rgba(0,0,0,0.4);
  padding: 8px 12px;
  border-radius: 4px;
  user-select: none;
}

.meme-lightbox .close-btn {
  top: 20px;
  right: 30px;
}

.meme-lightbox .prev-btn {
  top: 50%;
  left: 30px;
  transform: translateY(-50%);
}

.meme-lightbox .next-btn {
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
}




  .hidden { display: none; }
  .subfolder { margin-top: 20px; }
  
/* ✅ Inside Memes Folder (Different Style) */
.inside-memes-content .meme-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 25px;
  padding: 20px;
  background: #f9f9f9;
}

/* ✅ Inside folder: Each Meme item */
.inside-memes-content .meme-item {
  text-align: center;
  color: #222;
  font-size: 12px;
  cursor: pointer;
  transition: 0.2s ease-in-out;
}

.inside-memes-content .meme-item img {
  width: 100px;
  height: 100px;
  object-fit: cover;
  border: 1px solid #ccc;
  margin-bottom: 5px;
  background: #fff;
}


.inside-memes-content .meme-item span {
  display: block;
  margin-top: 4px;
  word-break: break-word;
}

/* ✅ Inside folder back button styling */
.inside-memes-content + .back-button,
#folder-content > button {
  display: inline-block;
  background: linear-gradient(to bottom, #2b78e4, #1c4ea1);
  color: #fff;
  padding: 6px 12px;
  border-radius: 4px;
  cursor: pointer;
  margin: 10px 20px;
  border: none;
}

.inside-memes-content {
  background: linear-gradient(to bottom, #ffffff, #eef4ff);
  border: 1px solid #99b3e6;
  padding: 10px;
}


/* ===================== larger golden icon ===================== */
.large-folder {
  transform: scale(1.3);         /* একটু বড় */
  transition: transform 0.2s ease-in-out;
  justify-self: center;          /* Grid এর মধ্যে centered */
  align-self: center;
}
.large-folder {
  grid-column: 1 / -1; /* পুরো row জুড়ে দখল করে নিবে */
  justify-self: start;
}


/* .large-folder:hover {
  transform: scale(1.4); 
} */
.large-folder img {
  width: 250px;   /* ডাইরেক্ট বড় সাইজ */
  height: auto;
}




/* ===================== ABOUT US WINDOW CUSTOM STYLE ===================== */
#aboutus .window-content {
  background: linear-gradient(to bottom, #ffffff, #f3f6ff);
  font-size: 14px;
  line-height: 1.6;
}

#aboutus .main-content {
  background: #fff;
  border-left: 1px solid #d0d7f3;
  padding: 20px;
}

#aboutus .main-content h3 {
  font-size: 18px;
  color: #003399;
  margin-bottom: 15px;
}

#aboutus .main-content h4 {
  font-size: 16px;
  color: #1a3dab;
  margin-top: 20px;
  margin-bottom: 8px;
}

#aboutus .main-content p {
  margin-bottom: 12px;
  color: #333;
}

#aboutus .main-content ul {
  margin-left: 20px;
  margin-bottom: 15px;
}

#aboutus .main-content ul li {
  margin-bottom: 6px;
  list-style-type: square;
  color: #222;
}

#aboutus .sidebar {
  background: linear-gradient(to bottom, #87a9ff, #456ad6);
  color: #fff;
}

#aboutus .sidebar-section {
  background: rgba(255,255,255,0.85);
  border: 1px solid #99b3e6;
}

#aboutus .sidebar-section h4 {
  background: linear-gradient(to right, #ffffff, #cdd7fb);
  color: #003399;
}

#aboutus .sidebar-section ul li {
  color: #003366;
}

#aboutus .sidebar-section p {
  color: #222;
}





/* ===================== RESPONSIVE STYLES ===================== */
@media(max-width:768px){
  .window{
    width: 80vw;
    height: 50vh;
  }
  .icon{
    left: 0!important;
  }
.icon2 {
    left: 236px!important;
}
}








/* === XP-like desktop auto-wrap (no scrollbar) === */
/* === XP-like desktop auto-wrap with grid === */
.desktop {
  display: grid;
  grid-template-rows: repeat(auto-fill, 100px); /* vertical spacing unit */
  grid-auto-flow: column; /* fill top-to-bottom, then new column */
  justify-content: start;

  height: calc(100vh - 40px); /* keep inside desktop area */
  overflow: hidden;
  padding: 12px 10px 64px;
  gap: 18px 40px; /* row-gap, column-gap */
}

/* all icons except the big centered one */
.desktop .icon:not(.icon2) {
  position: static !important;
  transform: none !important;

  width: 90px;
  text-align: center;
  font-size: 12px;
}


.desktop .icon:not(.icon2) img {
  width: 48px;
  height: 48px;
}

/* All icons except the big centered one participate in the column flow */
.desktop .icon:not(.icon2) {
  position: static !important;   /* ignore inline top/left */
  top: auto !important;
  left: auto !important;
  transform: none !important;

  display: inline-block;         /* needed for multicol */
  width: 90px;                   /* your icon width */
  margin: 0 0 16px 0;            /* vertical spacing */
  text-align: center;

  break-inside: avoid;           /* prevent an icon from splitting columns */
  -webkit-column-break-inside: avoid;
  -moz-column-break-inside: avoid;
}

/* icon image stays the same size */
.desktop .icon:not(.icon2) img {
  width: 48px;
  height: 48px;
}

/* Optional: slightly tighter layout on small screens */
@media (max-width: 480px) {
  .desktop { column-width: 95px; column-gap: 14px; }
  .desktop .icon:not(.icon2) { width: 82px; margin-bottom: 14px; font-size: 11px; }
  .desktop .icon:not(.icon2) img { width: 42px; height: 42px; }
}



