* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}

html,
body {
   width: 1080px;
   margin: 0 auto;
   font-family: 'SolaimanLipi', 'Hind Siliguri', sans-serif;
   background: #ffffff;
   color: #333;
}

.news-wrapper {
   width: 1080px;
   margin: 20px auto;
   background: #b71c1c;
}

.news-card {
   position: relative;
   width: 1080px;
   height: 1080px;
   display: flex;
   flex-direction: column;
   background: #b71c1c;
   overflow: hidden;
}

.panels {
   display: flex;
   flex: 1;
   min-height: 0;
}

/* Left Red Panel */
.left-panel {
   position: relative;
   width: 42%;
   height: 100%;
   background: #b71c1c;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 40px;
   overflow: hidden;
}

.left-panel .pattern-stripes {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   background:
      repeating-linear-gradient(135deg,
         rgba(0, 0, 0, 0.15) 0px,
         rgba(0, 0, 0, 0.15) 35px,
         transparent 35px,
         transparent 70px);
   z-index: 0;
   pointer-events: none;
}

.left-panel .pattern-dots {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   background:
      radial-gradient(rgba(255, 255, 255, 0.25) 2px, transparent 2px);
   background-size: 14px 14px;
   z-index: 0;
   pointer-events: none;
}

.panel-content {
   position: relative;
   z-index: 1;
   text-align: center;
   color: #ffffff;
   width: 100%;
}

.site-logo {
   max-width: 180px;
   max-height: 60px;
   margin: 0 auto 30px;
}

.site-logo img {
   width: 100%;
   height: auto;
   object-fit: contain;
}

.left-panel .category {
   display: inline-block;
   background: #ffffff;
   color: #b71c1c;
   padding: 5px 20px;
   border-radius: 20px;
   font-size: 20px;
   font-weight: 700;
   margin-bottom: 20px;
}

.left-panel .headline {
   font-size: 48px;
   font-weight: 800;
   line-height: 1.25;
   max-height: 360px;
   overflow: hidden;
   display: -webkit-box;
   line-clamp: 5;
   -webkit-line-clamp: 5;
   -webkit-box-orient: vertical;
   word-break: break-word;
   margin-bottom: 20px;
}

.left-panel .date {
   font-size: 22px;
   font-weight: 600;
   color: #ffd1d1;
   margin-bottom: 30px;
}

.left-panel .qr {
   height: 110px;
   border-radius: 8px;
   background: #ffffff;
   padding: 5px;
}

/* Right White Panel */
.right-panel {
   position: relative;
   width: 58%;
   height: 100%;
   background: #ffffff;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 40px;
   overflow: hidden;
}

.right-panel .pattern-stripes {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   background:
      repeating-linear-gradient(135deg,
         rgba(0, 0, 0, 0.04) 0px,
         rgba(0, 0, 0, 0.04) 35px,
         transparent 35px,
         transparent 70px);
   z-index: 0;
   pointer-events: none;
}

.right-panel .pattern-dots {
   position: absolute;
   bottom: 40px;
   right: 40px;
   width: 220px;
   height: 220px;
   background:
      radial-gradient(rgba(0, 0, 0, 0.1) 2px, transparent 2px);
   background-size: 12px 12px;
   z-index: 0;
   pointer-events: none;
}

.image-area {
   position: relative;
   width: 100%;
   height: 100%;
   background: #ffffff;
   border-radius: 16px;
   overflow: hidden;
   z-index: 1;
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.image-area img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.no-image-placeholder {
   width: 100%;
   height: 100%;
   display: flex;
   align-items: center;
   justify-content: center;
   color: #b71c1c;
   font-size: 28px;
}

/* Bottom Bar */
.bottom-bar {
   position: relative;
   width: 100%;
   height: 100px;
   background: #b71c1c;
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 0 50px;
   color: #ffffff;
   overflow: hidden;
}

.bottom-bar .pattern-dots {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   background:
      radial-gradient(rgba(255, 255, 255, 0.2) 2px, transparent 2px);
   background-size: 14px 14px;
   z-index: 0;
   pointer-events: none;
}

.bottom-bar .site-name {
   position: relative;
   z-index: 1;
   flex: 1;
   text-align: center;
   font-size: 34px;
   font-weight: 800;
}

.bottom-bar .socials {
   position: relative;
   z-index: 1;
   display: flex;
   gap: 12px;
   align-items: center;
   font-size: 24px;
}

.bottom-bar .socials span {
   margin: 0 4px;
   color: rgba(255, 255, 255, 0.8);
}

.banner-ads {
   width: 100%;
   text-align: center;
   margin-top: 20px;
}

.banner-ads img {
   max-width: 100%;
   height: auto;
}

.download-button {
   margin: 30px 0;
   text-align: center;
}

.download-button button {
   padding: 14px 32px;
   font-size: 20px;
   font-weight: bold;
   color: #fff;
   background: #b71c1c;
   border: none;
   border-radius: 10px;
   cursor: pointer;
   box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
   transition: background 0.3s ease;
}

.download-button button:hover {
   background: #9d0208;
}

@media print {
   .download-button {
      display: none;
   }
}