   @import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

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

   @font-face {
     font-family: 'FieldGothic';
     src: url('assets/fonts/FieldGothicTEST-No.83.woff');
   }


   :root {
     --primary-red: #dc2626;
     --text-dark: #1f2937;
     --text-light: #6b7280;
     --bg-light: #f9fafb;
     --bg-white: #ffffff;
     --border-color: #e5e7eb;
     --sidebar-width: 280px;
   }

   html {
     overflow-x: hidden;
     width: 100%;
     max-width: 100%;
   }

   body {
     font-family: "Poppins", sans-serif;
     -webkit-font-smoothing: antialiased;
     -moz-osx-font-smoothing: grayscale;
     color: var(--text-dark);
     overflow-x: hidden;
     width: 100%;
     max-width: 100%;
     /* Security: Disable text selection */
     -webkit-user-select: none;
     -moz-user-select: none;
     -ms-user-select: none;
     user-select: none;
   }

   /* Security: Disable right-click context menu */
   body {
     -webkit-touch-callout: none;
     -webkit-user-select: none;
     -khtml-user-select: none;
     -moz-user-select: none;
     -ms-user-select: none;
     user-select: none;

   }

   /* Allow text selection in input fields */
   input,
   textarea {
     -webkit-user-select: text;
     -moz-user-select: text;
     -ms-user-select: text;
     user-select: text;
   }

   /* Security: Disable image dragging */
   img {
     -webkit-user-drag: none;
     -khtml-user-drag: none;
     -moz-user-drag: none;
     -o-user-drag: none;
     user-drag: none;
     pointer-events: none;
   }

   /* Security: Disable text selection highlighting */
   ::selection {
     background: transparent;
   }

   ::-moz-selection {
     background: transparent;
   }

   .mobilePageTitle {
     display: none;
   }

   @media (max-width: 768px) {
     .mobilePageTitle {
       display: block;
       padding: 40px 0px 0px 0px;
       text-align: center;
       font-size: 24px;
     }

     .pageTitle {
       visibility: hidden !important;
     }
   }

   /* Portfolio Container */
   .portfolioContainer {
     position: relative;
     margin-top: 70px;
   }

   .portfolioLayout {
     display: flex;
     height: calc(100vh - 80px);
     overflow: hidden;
   }

   .mainContent {
     flex: 1;
     padding: 15px 40px;
     max-width: calc(100vw - var(--sidebar-width));
     background: linear-gradient(180deg, #f8f9fa 0%, #ffffff 100%);
     overflow-y: auto;
     height: 100%;
     position: relative;
   }

   .mainContent::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 200px;
     background: linear-gradient(180deg, rgba(220, 38, 38, 0.03) 0%, transparent 100%);
     pointer-events: none;
     z-index: 0;
   }

   .pageTitle {
     font-size: 35px;
     font-weight: 500;
     margin-bottom: 40px;
     position: relative;
     z-index: 1;
     line-height: 1.3;
     animation: fadeInDown 0.6s ease-out;
     padding-bottom: 20px;
     display: block;
   }

   .pageTitle span:first-child {
     font-weight: 600;
   }

   .pageTitle span {
     background: linear-gradient(135deg, #000000 0%, #060505 50%, #000000 100%);
     -webkit-background-clip: text;
     background-clip: text;
     display: inline-block;
     position: relative;
   }

   .pageTitle::after {
     content: '';
     position: absolute;
     bottom: 0;
     left: 0;
     width: 120px;
     height: 4px;
     background: linear-gradient(90deg, #0277e5 0%, #0277e5 50%, #0277e5 100%);
     border-radius: 2px;
     animation: expandBorder 0.8s ease-out 0.4s backwards;
   }

   .pageTitle::before {
     content: '';
     position: absolute;
     bottom: 0;
     left: 0;
     width: 100%;
     height: 1px;
     background: linear-gradient(90deg,
         transparent 0%,
         rgba(220, 38, 38, 0.15) 20%,
         rgba(220, 38, 38, 0.25) 50%,
         rgba(220, 38, 38, 0.15) 80%,
         transparent 100%);
   }

   @keyframes expandBorder {
     from {
       width: 0;
       opacity: 0;
     }

     to {
       width: 120px;
       opacity: 1;
     }
   }

   @keyframes fadeInDown {
     from {
       opacity: 0;
       transform: translateY(-20px);
     }

     to {
       opacity: 1;
       transform: translateY(0);
     }
   }

   /* Filter Sidebar */
   .filter-sidebar {
     width: var(--sidebar-width);
     background-color: #f7f7f7;
     padding: 16px 24px;
     height: 100%;
     position: relative;
     overflow-y: hidden;
     overflow-x: hidden;
     border-right: 1px solid rgba(220, 38, 38, 0.1);
     box-shadow: 4px 0 20px rgba(0, 0, 0, 0.05);
     display: flex;
     flex-direction: column;
   }

   /* Hide mobile filter header and mobile search on desktop */
   .filter-header-mobile {
     display: none;
   }

   .filter-sidebar .filter-search-container {
     display: none !important;
   }

   /* Desktop search bar */
   .filter-sidebar .filter-search-container-desktop {
     display: block;
     position: relative;
     margin-bottom: 24px;
     padding: 0;
   }

   .filter-sidebar .filter-search-container-desktop .filter-search-input {
     width: 100%;
     padding: 12px 16px 12px 44px;
     border: 2px solid #e5e7eb;
     border-radius: 8px;
     font-size: 14px;
     background: white;
     transition: all 0.3s ease;
     color: var(--text-dark);
   }

   .filter-sidebar .filter-search-container-desktop .filter-search-input:focus {
     outline: none;
     border-color: var(--primary-red);
     box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1);
   }

   .filter-sidebar .filter-search-container-desktop .filter-search-icon {
     position: absolute;
     left: 14px;
     top: 50%;
     transform: translateY(-50%);
     color: #6b7280;
     pointer-events: none;
     width: 18px;
     height: 18px;
   }

   /* Hide desktop search on mobile */
   @media (max-width: 768px) {
     .filter-sidebar .filter-search-container-desktop {
       display: none;
     }
   }


   .filter-section {
     margin-bottom: 22px;
     flex-shrink: 0;
   }

   .filter-sidebar .filter-section:last-of-type {
     margin-bottom: 10px;
   }

   .filter-section-header-row {
     display: flex;
     align-items: center;
     margin-bottom: 10px;
   }

   .filter-section-title {
     font-size: 14px;
     font-weight: 800;
     color: #666;
     text-transform: uppercase;
     letter-spacing: 1px;
     position: relative;
   }

   .industry-section-title {
     margin-bottom: 10px;
   }


   .filter-options {
     display: flex;
     flex-direction: column;
     gap: 0px;
     height: 160px;
     overflow-y: scroll;
     border: 1.47px solid #ecf0f6;
     border-radius: 10px;
     padding: 5px 0px;
     background-color: #ffffff;
   }

   .filter-checkbox {
     display: flex;
     align-items: center;
     gap: 12px;
     cursor: pointer;
     font-size: 14px;
     color: var(--text-dark);
     padding: 5px 18px;
     border-radius: 8px;
     transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
     position: relative;
     font-weight: 500;
   }

   @media (max-width: 768px) {
     .filter-checkbox {
       padding: 10px 18px;
       font-size: 14px;
       min-height: 56px;
       gap: 14px;
     }

     .filter-options {
       height: 165px;
     }
   }

   .filter-checkbox::before {
     content: '';
     position: absolute;
     left: 0;
     top: 50%;
     transform: translateY(-50%);
     width: 3px;
     height: 0;
     background: var(--primary-red);
     border-radius: 0 2px 2px 0;
   }



   .filter-checkbox input[type='checkbox']:checked+.checkbox-label {
     color: #0277e5;
     font-weight: 600;
   }

   .filter-checkbox input[type='checkbox'] {
     width: 18px;
     height: 18px;
     cursor: pointer;
     accent-color: #0277e5;
     flex-shrink: 0;
     transition: transform 0.2s ease;
   }

   @media (max-width: 768px) {
     .filter-checkbox input[type='checkbox'] {
       width: 18px;
       height: 18px;
       min-width: 20px;
       min-height: 20px;
     }
   }

   .filter-checkbox input[type='checkbox']:checked {}

   /* Helper class to hide industries with no data for selected platform */
   .hidden-by-platform {
     display: none !important;
   }

   .checkbox-label {
     user-select: none;
   }

   .reset-button {
     width: 100%;
     padding: 14px 16px;
     background: linear-gradient(135deg, var(--primary-red) 0%, #b91c1c 100%);
     color: white;
     border: none;
     border-radius: 8px;
     font-size: 14px;
     font-weight: 600;
     cursor: pointer;
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 8px;
     margin-top: auto;
     transition: all 0.3s ease;
     box-shadow: 0 2px 8px rgba(220, 38, 38, 0.3);
   }

   .reset-button:hover {
     background: linear-gradient(135deg, #b91c1c 0%, #991b1b 100%);
     transform: translateY(-2px);
     box-shadow: 0 4px 12px rgba(220, 38, 38, 0.4);
   }

   .reset-button:active {
     transform: translateY(0);
   }

   .reset-button svg {
     width: 16px;
     height: 16px;
   }

   /* Show inline reset button on Desktop (and Mobile) */
   .reset-button-inline {
     background: transparent;
     color: var(--primary-red);
     border: 1px solid var(--primary-red);
     border-radius: 20px;
     padding: 4px 10px;
     font-size: 11px;
     font-weight: 600;
     cursor: pointer;
     display: flex;
     align-items: center;
     gap: 4px;
     margin-left: auto;
     /* Push to right if flex container allows, though header row handles justify-between */
   }



   .reset-button-inline svg {
     width: 12px;
     height: 12px;
   }

   /* Hide the old bottom reset button on Desktop */
   .filter-sidebar>.reset-button,
   /* If direct child */
   .filter-content-wrapper>.reset-button {
     display: none !important;
   }

   /* Campaign Card */
   .campaign-card-link {
     text-decoration: none;
     color: inherit;
     display: block;
     position: relative;
     z-index: 1;
   }

   .campaign-card {
     background: rgba(255, 255, 255, 0.75);
     backdrop-filter: blur(24px);
     -webkit-backdrop-filter: blur(24px);
     border-radius: 20px;
     overflow: hidden;
     box-shadow:
       0 10px 40px rgba(0, 0, 0, 0.08),
       0 4px 12px rgba(0, 0, 0, 0.04),
       inset 0 1px 0 rgba(255, 255, 255, 0.7);
     transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
     cursor: pointer;
     border: 1px solid rgba(255, 255, 255, 0.4);
     position: relative;
     animation: fadeInUp 0.5s ease-out backwards;
   }

   .campaign-card:nth-child(1) {
     animation-delay: 0.1s;
   }

   .campaign-card:nth-child(2) {
     animation-delay: 0.2s;
   }

   .campaign-card:nth-child(3) {
     animation-delay: 0.3s;
   }

   .campaign-card:nth-child(4) {
     animation-delay: 0.4s;
   }

   .campaign-card:nth-child(5) {
     animation-delay: 0.5s;
   }

   .campaign-card:nth-child(6) {
     animation-delay: 0.6s;
   }

   .campaign-card:nth-child(7) {
     animation-delay: 0.7s;
   }

   .campaign-card:nth-child(8) {
     animation-delay: 0.8s;
   }

   .campaign-card:nth-child(9) {
     animation-delay: 0.9s;
   }

   @keyframes fadeInUp {
     from {
       opacity: 0;
       transform: translateY(30px);
     }

     to {
       opacity: 1;
       transform: translateY(0);
     }
   }

   .campaign-card::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background: linear-gradient(135deg, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0.05) 100%);
     pointer-events: none;
     z-index: 0;
     border-radius: 20px;
     opacity: 0;
     transition: opacity 0.3s ease;
   }

   .campaign-card:hover::before {
     opacity: 1;
   }

   .campaign-card:hover {
     transform: translateY(-12px);
     background: rgba(255, 255, 255, 0.9);
     box-shadow:
       0 20px 60px #0878e726,
       0 8px 24px #0878e729,
       inset 0 1px 0 rgba(255, 255, 255, 0.9);
     border-color: #0878e751;
   }

   .campaign-image-wrapper {
     position: relative;
     width: 100%;
     padding-top: 56.25%;
     /* 16:9 aspect ratio */
     background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
     overflow: hidden;
     border-radius: 20px 20px 0 0;
   }

   .campaign-card:hover .campaign-image-wrapper {
     /* transform: scale(1.08); */
     transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
   }

   .campaign-image-wrapper::after {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.1) 100%);
     pointer-events: none;
     opacity: 0;
     transition: opacity 0.3s ease;
   }

   .campaign-card:hover .campaign-image-wrapper::after {
     opacity: 1;
   }

   .campaign-image-placeholder {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     display: flex;
     align-items: center;
     justify-content: center;
     color: white;
     font-weight: 600;
   }

   .image-placeholder-content {
     position: relative;
     width: 100%;
     height: 100%;
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     padding: 20px;
   }

   .image-overlay {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 24px;
     font-weight: bold;
     text-align: center;
     z-index: 1;
   }

   .campaign-name-overlay {
     position: absolute;
     bottom: 20px;
     left: 20px;
     font-size: 18px;
     font-weight: 600;
     z-index: 2;
   }

   .play-button {
     position: absolute;
     bottom: 16px;
     right: 16px;
     width: 48px;
     height: 48px;
     background-color: var(--primary-red);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     color: white;
     z-index: 3;
     transition: transform 0.2s;
   }

   .campaign-card:hover .play-button {
     transform: scale(1.1);
   }

   .play-button svg {
     width: 24px;
     height: 24px;
     margin-left: 2px;
   }

   .campaign-info {
     padding: 22px;
     background: rgba(255, 255, 255, 0.5);
     backdrop-filter: blur(12px);
     -webkit-backdrop-filter: blur(12px);
     position: relative;
     z-index: 1;
     border-top: 1px solid rgba(255, 255, 255, 0.3);
   }

   .campaign-title {
     font-size: 17px;
     font-weight: 700;
     color: var(--text-dark);
     margin-bottom: 6px;
     line-height: 1.4;
     transition: color 0.2s ease;
     position: relative;
     z-index: 2;
     text-transform: uppercase;
   }

   .campaign-card:hover .campaign-title {
     color: #007bff;
   }

   .campaign-subtitle {
     font-size: 14px;
     color: #000;
     font-weight: 500;
     margin-bottom: 8px;
     position: relative;
     z-index: 2;
   }

   .campaign-image {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     object-fit: cover;
   }

   .campaign-overlay {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: rgba(0, 0, 0, 0.4);
     display: flex;
     align-items: center;
     justify-content: center;
     z-index: 1;
   }

   .campaign-overlay-text {
     color: white;
     font-size: 20px;
     font-weight: 700;
     text-align: center;
     padding: 16px;
     text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
   }

   .campaign-meta {
     display: flex;
     flex-wrap: wrap;
     gap: 8px;
     margin-top: 8px;
     font-size: 12px;
     position: relative;
     z-index: 2;
   }

   .campaign-platform {
     background: linear-gradient(135deg, rgba(243, 244, 246, 0.9) 0%, rgba(229, 231, 235, 0.9) 100%);
     backdrop-filter: blur(10px);
     -webkit-backdrop-filter: blur(10px);
     color: var(--text-dark);
     padding: 8px 14px;
     border-radius: 8px;
     font-weight: 700;
     font-size: 11px;
     text-transform: uppercase;
     letter-spacing: 0.8px;
     border: 1px solid rgba(255, 255, 255, 0.5);
     box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
     transition: all 0.3s ease;
   }

   .campaign-card:hover .campaign-platform {
     transform: translateY(-2px);
     box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
   }

   .campaign-industry {
     background: linear-gradient(135deg, var(--primary-red) 0%, #b91c1c 100%);
     color: white;
     padding: 8px 14px;
     border-radius: 8px;
     font-weight: 700;
     font-size: 11px;
     text-transform: uppercase;
     letter-spacing: 0.8px;
     box-shadow:
       0 4px 8px rgba(220, 38, 38, 0.3),
       0 2px 4px rgba(220, 38, 38, 0.2);
     transition: all 0.3s ease;
   }

   .campaign-card:hover .campaign-industry {
     transform: translateY(-2px);
     box-shadow:
       0 6px 12px rgba(220, 38, 38, 0.4),
       0 3px 6px rgba(220, 38, 38, 0.3);
   }

   /* Campaign Grid */
   .campaign-grid {
     display: grid;
     grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
     gap: 20px;
     padding: 0;
     position: relative;
     z-index: 1;
   }

   /* Pagination Styles */
   .pagination-container {
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 24px;
     margin: 48px 0;
     padding: 32px;
     background: rgba(255, 255, 255, 0.8);
     backdrop-filter: blur(20px);
     -webkit-backdrop-filter: blur(20px);
     border-radius: 16px;
     box-shadow:
       0 8px 32px rgba(0, 0, 0, 0.08),
       0 2px 8px rgba(0, 0, 0, 0.04),
       inset 0 1px 0 rgba(255, 255, 255, 0.6);
     border: 1px solid rgba(255, 255, 255, 0.3);
     position: relative;
     z-index: 1;
   }

   .pagination-info {
     font-size: 14px;
     color: var(--text-light);
     font-weight: 500;
   }

   .pagination-info strong {
     color: var(--text-dark);
     font-weight: 700;
   }

   .pagination-controls {
     display: flex;
     align-items: center;
     gap: 12px;
     flex-wrap: wrap;
     justify-content: center;
   }

   .pagination-btn {
     display: flex;
     align-items: center;
     gap: 6px;
     padding: 10px 18px;
     background: white;
     border: 2px solid var(--border-color);
     border-radius: 8px;
     font-size: 14px;
     font-weight: 600;
     color: var(--text-dark);
     cursor: pointer;
     transition: all 0.2s ease;
     box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
   }

   .pagination-btn:hover:not(.disabled) {
     background: var(--primary-red);
     color: white;
     border-color: var(--primary-red);
     transform: translateY(-2px);
     box-shadow: 0 4px 8px rgba(220, 38, 38, 0.3);
   }

   .pagination-btn.disabled {
     opacity: 0.5;
     cursor: not-allowed;
     background: #f3f4f6;
   }

   .pagination-btn svg {
     width: 16px;
     height: 16px;
   }

   .pagination-numbers {
     display: flex;
     align-items: center;
     gap: 6px;
   }

   .pagination-number {
     min-width: 40px;
     height: 40px;
     padding: 0 12px;
     background: white;
     border: 2px solid var(--border-color);
     border-radius: 8px;
     font-size: 14px;
     font-weight: 600;
     color: var(--text-dark);
     cursor: pointer;
     transition: all 0.2s ease;
     display: flex;
     align-items: center;
     justify-content: center;
     box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
   }

   .pagination-number:hover:not(.active) {
     background: rgba(220, 38, 38, 0.1);
     border-color: var(--primary-red);
     color: var(--primary-red);
     transform: translateY(-2px);
   }

   .pagination-number.active {
     background: linear-gradient(135deg, var(--primary-red) 0%, #b91c1c 100%);
     color: white;
     border-color: var(--primary-red);
     box-shadow: 0 4px 8px rgba(220, 38, 38, 0.3);
     transform: scale(1.1);
   }

   .pagination-ellipsis {
     padding: 0 8px;
     color: var(--text-light);
     font-weight: 600;
   }

   .loading-state {
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     padding: 80px 24px;
     min-height: 400px;
   }

   .loading-spinner {
     width: 40px;
     height: 40px;
     border: 4px solid #f3f3f3;
     border-top: 4px solid var(--primary-red);
     border-radius: 50%;
     animation: spin 1s linear infinite;
     margin-bottom: 16px;
   }

   @keyframes spin {
     0% {
       transform: rotate(0deg);
     }

     100% {
       transform: rotate(360deg);
     }
   }

   .loading-state p {
     color: var(--text-light);
     font-size: 16px;
     margin-top: 8px;
   }

   .no-results {
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     padding: 80px 24px;
     min-height: 400px;
     text-align: center;
   }

   .no-results-icon {
     font-size: 48px;
     font-weight: 700;
     color: var(--text-light);
     margin-bottom: 16px;
     opacity: 0.5;
   }

   .no-results-message {
     color: var(--text-light);
     font-size: 16px;
     margin-bottom: 24px;
   }

   .reset-filters-button {
     padding: 12px 24px;
     background: var(--primary-red);
     color: white;
     border: none;
     border-radius: 6px;
     font-size: 14px;
     font-weight: 600;
     cursor: pointer;
     transition: background 0.2s ease;
   }

   .reset-filters-button:hover {
     background: #b91c1c;
   }

   /* Creative Display */
   .creative-display {
     width: 100%;
     max-width: 1200px;
     margin: 0 auto;
   }

   .creative-content {
     width: 100%;
     border-radius: 0px;
     overflow: hidden;
     position: relative;
     aspect-ratio: 16 / 9;
     display: flex;
     align-items: center;
     justify-content: center;
   }

   .creative-video-container {
     width: 100%;
     height: 100%;
     position: relative;
   }

   .video-preview {
     width: 100%;
     height: 100%;
     position: relative;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
   }

   .video-thumbnail {
     width: 100%;
     height: 100%;
     object-fit: cover;
   }

   .video-placeholder {
     width: 100%;
     height: 100%;
     background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
     display: flex;
     align-items: center;
     justify-content: center;
     position: relative;
   }

   .video-placeholder-content {
     text-align: center;
     color: white;
     z-index: 2;
   }

   .video-play-button {
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     width: 80px;
     height: 80px;
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.9);
     border: none;
     cursor: pointer;
     display: flex;
     align-items: center;
     justify-content: center;
     transition: all 0.3s ease;
     z-index: 3;
   }

   .video-play-button:hover {
     background: rgba(255, 255, 255, 1);
     transform: translate(-50%, -50%) scale(1.1);
   }

   .video-play-button svg {
     width: 32px;
     height: 32px;
     color: #333;
     margin-left: 4px;
   }

   .creative-video {
     width: 100%;
     object-fit: cover;
     background: transparent;
   }

   .video-error {
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     text-align: center;
     color: white;
     z-index: 10;
   }

   .video-error button {
     margin-top: 16px;
     padding: 8px 16px;
     background: #667eea;
     color: white;
     border: none;
     border-radius: 4px;
     cursor: pointer;
   }

   .no-video-url {
     width: 100%;
     height: 100%;
     display: flex;
     align-items: center;
     justify-content: center;
     color: white;
   }

   .creative-image-container {
     width: 100%;
     height: 100%;
     position: relative;
   }

   .creative-image {
     width: 100%;
     height: 100%;
     object-fit: contain;
     background: #f5f5f5;
   }

   .creative-image-placeholder {
     width: 100%;
     height: 100%;
     background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
     display: flex;
     align-items: center;
     justify-content: center;
     position: relative;
   }

   .creative-interactive-container {
     width: 100%;
     height: 100%;
     position: relative;
   }

   .interactive-embed {
     width: 100%;
     height: 100%;
     border: none;
   }

   .interactive-iframe {
     width: 100%;
     height: 100%;
     border: none;
     background: #fff;
   }

   .no-interactive-url {
     width: 100%;
     height: 100%;
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     color: white;
     background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
   }

   .creative-unknown {
     width: 100%;
     height: 100%;
     display: flex;
     align-items: center;
     justify-content: center;
     color: white;
   }

   .creative-description {
     margin-top: 24px;
     padding: 20px;
     background: #f9f9f9;
     border-radius: 8px;
   }

   .creative-description p {
     margin: 0;
     color: #666;
     line-height: 1.6;
     font-size: 1rem;
   }

   /* Details Page */
   .details-container {
     height: calc(100vh - 80px);

     padding: 0;
     position: relative;
     margin-top: 80px;
     overflow: hidden;
   }

   .details-container.view-mobile {

     overflow: hidden;
     width: 100%;
     position: relative;
     height: calc(100vh - 80px);
   }

   .details-layout {
     display: flex;
     height: 100%;
     max-width: 100%;
     margin: 0;

     position: relative;
     overflow: hidden;
     width: 100%;
   }

   .details-container.view-mobile .details-layout {
     align-items: center;
     justify-content: center;
     padding: 20px;
     gap: 24px;
     height: 100%;
     flex-wrap: nowrap;
     overflow: hidden;
     width: 100%;
     box-sizing: border-box;
   }

   @media (max-width: 768px) {
     .details-container {
       height: auto;
       min-height: calc(100vh - 70px);
       margin-top: 70px;
       overflow-y: auto;
     }

     .details-container.view-mobile {
       height: auto;
       min-height: calc(100vh - 80px);
       overflow-y: auto;
     }

     .details-layout {
       flex-direction: column;
       height: auto;
       overflow-y: visible;
     }

     .details-container.view-mobile .details-layout {
       padding: 0;
       gap: 0;
       flex-direction: column;
       align-items: stretch;
       justify-content: flex-start;
       height: auto;
       overflow-y: visible;
     }

     .details-main-content {
       max-width: 100% !important;
       padding: 20px 16px !important;
       margin-right: 0 !important;
       width: 100% !important;
       overflow-x: hidden;
     }

     .details-container.view-mobile .details-main-content {
       width: 100% !important;
       padding: 20px 16px !important;
       height: auto !important;
       min-height: auto !important;
       display: flex;
       align-items: center;
       justify-content: center;
       flex: 0 0 auto;
       margin-top: 10px;
       margin-bottom: 10px;
     }

     .details-sidebar {
       width: 100% !important;
       min-width: 100% !important;
       position: relative !important;
       top: 0 !important;
       right: 0 !important;
       height: auto !important;
       border-left: none;
       border-top: 1px solid #e0e0e0;
       padding: 20px 16px !important;
     }

     .details-container.view-mobile .details-sidebar {
       width: 100% !important;
       min-width: 100% !important;
       position: relative !important;
       top: 0 !important;
       right: 0 !important;
       height: auto !important;
       border-left: none;
       border-top: 1px solid #e0e0e0;
       padding: 20px 16px !important;
     }

     .mobile-phone-frame {
       width: 100% !important;
       height: auto !important;
       aspect-ratio: 300 / 650;
       max-height: 65vh !important;
       margin: 0 auto;
     }
   }

   .details-main-content {
     flex: 1;
     padding: 35px 0px;

     max-width: 100%;
     overflow-y: auto;
     overflow-x: hidden;
     margin-right: 300px;
     box-sizing: border-box;
   }

   /* CTV View Layout */
   .details-main-content.ctv-view-layout {
     /* padding: 20px; */
     display: flex;
     flex-direction: column;
     align-items: center;
     text-align: center;
     background: #fdfdfd;
     overflow: hidden;
   }

   /* .details-main-content.ctv-view-layout .content-title {
     font-size: 42px;
     margin-bottom: 12px;
     color: #1a1a1a;
   }

   .details-main-content.ctv-view-layout .content-subtitle {
     font-size: 20px;
     margin-bottom: 32px;
     color: #666;
   } */

   /* .details-main-content.ctv-view-layout .content-intro {
     max-width: 800px;
     margin-bottom: 48px;
     line-height: 1.8;
     font-size: 17px;
   } */

   .details-main-content.ctv-view-layout .ad-display-section.view-ctv {
     width: 100%;
     max-width: 1000px;
     /* margin-bottom: 60px; */
     /* background: #000; */
     /* border-radius: 12px; */
     /* padding: 40px; */
     /* box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15); */
   }

   .details-main-content.ctv-view-layout .ad-container.view-ctv {
     width: 100% !important;
     height: auto !important;
     aspect-ratio: 16 / 9;
     max-width: 100% !important;
   }

   .details-main-content.ctv-view-layout .creative-display-wrapper,
   .details-main-content.ctv-view-layout .creative-display,
   .details-main-content.ctv-view-layout .creative-content {
     width: 100% !important;
     height: 100% !important;
   }

   .details-container.view-mobile .details-main-content {
     flex: 0 0 auto;
     max-width: 100%;
     padding: 0;
     background: transparent;
     overflow: hidden;
     width: 100%;
     height: 100%;
     display: flex;
     align-items: center;
     justify-content: start;
     margin-right: 0;
     box-sizing: border-box;
   }

   @media (max-width: 768px) {
     .details-container.view-mobile .details-main-content {
       display: block !important;
       height: auto !important;
     }
   }

   @media (max-width: 768px) {

     /* Hide mobile phone frame on real mobile devices */
     .mobile-phone-frame {
       display: none !important;
     }

     .details-container.view-mobile .details-main-content {
       width: 100%;
       padding: 0;
       display: block !important;
       height: auto !important;
     }

     /* Show content directly without phone frame wrapper */
     .mobile-content-wrapper {
       position: relative !important;
       padding-top: 0 !important;
       height: auto !important;
       padding-bottom: 20px !important;
     }

     .mobile-phone-screen {
       display: none !important;
     }
   }

   .details-sidebar {
     width: 300px;
     min-width: 300px;

     border-left: 1px solid #e0e0e0;
     padding: 32px;
     display: flex;
     flex-direction: column;
     position: fixed;
     top: 80px;
     right: 0;
     height: calc(100vh - 100px);
     overflow-y: auto;
     overflow-x: hidden;
     flex-shrink: 0;
     z-index: 10;
   }

   @media (max-width: 768px) {

     /* Hide sidebar completely on mobile devices */
     .details-sidebar {
       display: none !important;
     }

     .details-main-content {
       max-width: 100% !important;
       padding: 20px 16px !important;
       margin-right: 0 !important;
       width: 100% !important;
     }
   }

   .details-container.view-mobile .details-sidebar {
     width: 400px;
     min-width: 400px;
     padding: 32px;
     position: fixed;
     top: 80px;
     right: 0;
     height: calc(100vh - 80px);
     border-left: 1px solid #e0e0e0;
     flex-shrink: 0;
     overflow-y: auto;
     overflow-x: hidden;
   }

   .details-container.view-mobile .sidebar-info {
     gap: 16px;
   }

   .details-container.view-mobile .sidebar-info-label {
     font-size: 12px;
   }

   .details-container.view-mobile .sidebar-info-value {
     font-size: 16px;
   }

   .details-container.view-mobile .sidebar-section-title {
     font-size: 12px;
     margin-bottom: 16px;
   }

   .details-container.view-mobile .sidebar-switch-btn {
     padding: 12px 16px;
     font-size: 14px;
   }

   .details-container.view-mobile .sidebar-switch-btn svg {
     width: 20px;
     height: 20px;
   }

   .details-container.view-mobile .sidebar-qr-code {
     width: 200px;
     height: 200px;
   }

   .details-container.view-mobile .sidebar-qr-text {
     font-size: 14px;
   }

   .sidebar-content {
     display: flex;
     flex-direction: column;
     gap: 32px;
     height: 100%;
     overflow-y: visible;
     overflow-x: visible;
   }

   .details-container.view-mobile .sidebar-content {
     gap: 24px;
     overflow-y: visible;
     overflow-x: visible;
   }

   @media (max-width: 768px) {

     /* Hide filter toggle button */
     .mobile-filter-toggle {
       display: none !important;
     }

     .filter-sidebar::before {
       display: none;
     }

     /* Reset Sidebar to be Inline & Visible */
     .filter-sidebar {
       width: auto !important;
       position: relative !important;
       top: 0 !important;
       left: 0 !important;
       height: auto !important;
       transform: none !important;
       display: flex !important;
       flex-direction: column;
       z-index: 1 !important;
       background: transparent !important;
       border-right: none !important;
       box-shadow: none !important;
       padding: 0 20px !important;
       margin-top: 0px;
       overflow: hidden;
     }

     /* Mobile Search Bar: Make Visible & Full Width */
     .filter-sidebar .filter-search-container {
       display: block !important;
       margin-bottom: 10px;
       width: 100%;
     }

     .filter-search-input {
       width: 100%;
       padding: 12px 16px 12px 44px;
       border: 1px solid #e5e7eb;
       border-radius: 8px;
       font-size: 14px;
     }

     /* Hide mobile specific header inside sidebar if present */
     .filter-header-mobile {
       display: none !important;
     }

     /* Filter Content Card - Scrollable Area */
     /* Hide filters when searching on mobile */
     .filter-sidebar.searching-active .filter-content-wrapper {
       display: none !important;
     }

     .filter-content-wrapper {
       display: block !important;
       background: #f7f7f7;
       border: 1px solid #e5e7eb;
       border-radius: 12px;
       padding: 10px !important;


       /* Internal Scrolling */
       max-height: 70vh;
       /* Fixed height for scroll */
       overflow: hidden;

       /* Custom Scrollbar */
       scrollbar-width: thin;
       scrollbar-color: rgba(220, 38, 38, 0.2) transparent;
     }

     .filter-content-wrapper::-webkit-scrollbar {
       width: 4px;
     }

     .filter-content-wrapper::-webkit-scrollbar-track {
       background: transparent;
     }

     .filter-content-wrapper::-webkit-scrollbar-thumb {
       background-color: rgba(220, 38, 38, 0.2);
       border-radius: 4px;
     }

     /* Section Header Row for Platform & Reset Button */
     .filter-section-header-row {
       display: flex;
       justify-content: space-between;
       align-items: center;
       margin-bottom: 10px;
     }

     .filter-section-title {
       margin-bottom: 10px !important;
       padding-bottom: 0 !important;
       border-bottom: none !important;
     }

     .filter-section-title::after {
       display: none;
     }

     /* Inline Reset Button Styling */
     .reset-button-inline {
       background: transparent;
       color: var(--primary-red);
       border: 1px solid var(--primary-red);
       border-radius: 20px;
       padding: 4px 10px;
       /* Smaller */
       font-size: 11px;
       /* Smaller */
       font-weight: 600;
       cursor: pointer;
       display: flex;
       align-items: center;
       gap: 6px;
     }

     .reset-button-inline svg {
       width: 12px;
       height: 12px;
     }

     /* Checkbox Styling adjustment for mobile card */
     .filter-checkbox {
       padding: 8px 0;
       min-height: auto;
       background: transparent !important;
       border: none;
       transition: none !important;
     }

     /* Stack items in layout */
     .portfolioLayout {
       flex-direction: column;
     }

     /* Reset Main Content padding/width */
     .mainContent {
       width: 100% !important;
       max-width: 100% !important;
       padding: 20px !important;
       height: auto;
       overflow: visible;
       margin-top: 20px;
     }

     /* Reset Button Styling Match */
     .reset-button {
       display: none;
     }

     .reset-button svg {
       color: var(--primary-red);
     }

     /* Sidebar Content spacing */
     .sidebar-content {
       gap: 20px;
     }

     .sidebar-back-button {
       width: 100%;
       justify-content: center;
       padding: 12px 16px;
       font-size: 14px;
     }

     .sidebar-info {
       gap: 12px;
     }

     .sidebar-info-label {
       font-size: 11px;
     }

     .sidebar-info-value {
       font-size: 15px;
     }

     .sidebar-section-title {
       font-size: 11px;
       margin-bottom: 12px;
     }

     .sidebar-switch-btn {
       padding: 10px 14px;
       font-size: 13px;
     }

     .sidebar-ad-size-btn {
       padding: 8px 12px;
       font-size: 12px;
     }

     .sidebar-qr-code {
       width: 180px;
       height: 180px;
     }

     .sidebar-qr-text {
       font-size: 12px;
     }

     .details-container.view-mobile .details-sidebar {
       width: 100%;
       min-width: 100%;
       position: relative;
       top: 0;
       height: auto;
       border-left: none;
       border-top: 1px solid #e0e0e0;
       padding: 24px 16px;
     }
   }

   .sidebar-back-button {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     padding: 10px 16px;
     background: #f0f0f0;
     color: #1a1a1a;
     border: 1px solid #e0e0e0;
     border-radius: 6px;
     font-size: 14px;
     font-weight: 500;
     cursor: pointer;
     transition: all 0.2s;
     width: fit-content;
   }

   .sidebar-back-button:hover {
     background: #e0e0e0;
     border-color: #d0d0d0;
   }

   .sidebar-back-button svg {
     width: 20px;
     height: 20px;
   }

   .header-back-button {
     display: flex;
     align-items: center;
     gap: 8px;
     padding: 10px 16px;
     background: var(--primary-red);
     color: white;
     border: none;
     border-radius: 8px;
     cursor: pointer;
     font-size: 15px;
     font-weight: 600;
     transition: all 0.3s ease;
     box-shadow: 0 2px 8px rgba(220, 38, 38, 0.3);
   }

   .header-back-button:hover {
     background: #b91c1c;
     transform: translateX(-2px);
     box-shadow: 0 4px 12px rgba(220, 38, 38, 0.4);
   }

   .header-back-button svg {
     width: 20px;
     height: 20px;
   }

   @media (max-width: 768px) {
     .header-back-button {
       padding: 8px 12px;
       font-size: 14px;
     }

     .header-back-button span {
       display: none;
     }

     .header-back-button svg {
       width: 22px;
       height: 22px;
     }
   }

   .sidebar-info {
     display: flex;
     flex-direction: column;
     gap: 16px;
   }

   .sidebar-info-item {
     display: flex;
     flex-direction: column;
     gap: 8px;
   }

   .sidebar-info-label {
     font-size: 12px;
     font-weight: 600;
     color: #666;
     text-transform: uppercase;
     letter-spacing: 0.5px;
   }

   .sidebar-info-value {
     font-size: 16px;
     font-weight: 600;
     color: #1a1a1a;
   }

   .sidebar-section-title {
     font-size: 12px;
     font-weight: 600;
     color: #666;
     text-transform: uppercase;
     letter-spacing: 0.5px;
     margin-bottom: 16px;
   }

   .sidebar-view-controls {
     display: flex;
     flex-direction: column;
   }

   .sidebar-switch-buttons {
     display: flex;
     flex-direction: column;
     gap: 8px;
   }

   .sidebar-switch-btn {
     display: flex;
     align-items: center;
     gap: 12px;
     padding: 12px 16px;
     border: 2px solid #e0e0e0;
     background: white;
     border-radius: 6px;
     cursor: pointer;
     font-size: 14px;
     font-weight: 500;
     color: #666;
     transition: all 0.2s;
     text-align: left;
   }

   .sidebar-switch-btn:hover {
     border-color: #ccc;
     background: #f9f9f9;
   }

   .sidebar-switch-btn.active {
     background: var(--primary-red);
     color: white;
     border-color: var(--primary-red);
   }

   .sidebar-switch-btn svg {
     width: 20px;
     height: 20px;
   }

   .sidebar-qr-section {
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 16px;
     margin-top: auto;
     padding-top: 32px;
     border-top: 1px solid #e0e0e0;
     flex-shrink: 0;
   }

   .sidebar-qr-code {
     width: 200px;
     height: 200px;
     border: 1px solid #e0e0e0;
     border-radius: 8px;
     padding: 8px;
     background: white;
   }

   .sidebar-qr-text {
     font-size: 14px;
     font-weight: 600;
     color: var(--primary-red);
     text-align: center;
   }

   .sidebar-ad-size-controls {
     display: flex;
     flex-direction: column;
   }

   .sidebar-ad-size-buttons {
     display: flex;
     flex-direction: column;
     gap: 8px;
   }

   .sidebar-ad-size-btn {
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 4px;
     padding: 12px 16px;
     border: 2px solid #e0e0e0;
     background: white;
     border-radius: 6px;
     cursor: pointer;
     font-size: 14px;
     font-weight: 600;
     color: #666;
     transition: all 0.2s;
     text-align: center;
   }

   .sidebar-ad-size-btn:hover {
     border-color: #ccc;
     background: #f9f9f9;
   }

   .sidebar-ad-size-btn.active {
     background: var(--primary-red);
     color: white;
     border-color: var(--primary-red);
   }

   .sidebar-ad-size-btn .ad-size-label {
     font-size: 11px;
     font-weight: 400;
     opacity: 0.8;
   }

   .sidebar-ad-size-btn.active .ad-size-label {
     opacity: 1;
   }

   .details-container.view-mobile {
     padding: 0;
     position: relative;
     overflow: visible;
   }

   /* Old mobile view styles removed - using new layout structure */

   /* Old mobile view pseudo-elements removed - using new mobile phone frame structure */

   .home-indicator {
     position: sticky;
     bottom: 0;
     left: 0;
     right: 0;
     width: 100%;
     height: 34px;
     /* background: white; */
     z-index: 100;
     border-radius: 0 0 40px 40px;
   }

   .home-indicator::before {
     content: '';
     position: absolute;
     top: 8px;
     left: 50%;
     transform: translateX(-50%);
     width: 134px;
     height: 5px;
     background: #000;
     border-radius: 3px;
   }

   .fixed-header {
     display: none;
   }

   .fixed-header.view-mobile {
     display: block;
     position: sticky;
     top: 54px;
     left: 0;
     right: 0;
     /* background: white; */
     border-bottom: 1px solid #e0e0e0;
     z-index: 99;
     padding: 12px 16px;
   }

   .details-header {
     max-width: 1200px;
     margin: 0 auto;
     padding: 16px 24px;
   }

   .back-button {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     padding: 10px 20px;
     /* background: white; */
     border: 1px solid #e0e0e0;
     border-radius: 6px;
     cursor: pointer;
     font-size: 14px;
     color: #333;
     transition: all 0.2s ease;
   }

   .back-button:hover {
     background: #f5f5f5;
     border-color: #ccc;
   }

   .back-button svg {
     width: 18px;
     height: 18px;
   }

   .details-content {
     max-width: 1200px;
     margin: 0 auto;
     position: relative;
   }

   .details-info {
     margin-bottom: 32px;
   }

   .details-meta-info {
     display: flex;
     gap: 32px;
     margin-bottom: 24px;
     flex-wrap: wrap;
   }

   .meta-item {
     display: flex;
     flex-direction: column;
     gap: 8px;
   }

   .meta-label {
     font-size: 14px;
     color: #666;
     font-weight: 500;
     text-transform: uppercase;
     letter-spacing: 0.5px;
   }

   .meta-value {
     font-size: 18px;
     color: #1a1a1a;
     font-weight: 600;
   }

   .fixed-view-controls {
     padding: 12px 16px;
     max-width: 100%;
     /* background: white; */
   }

   .view-controls {
     display: flex;
     align-items: center;
     gap: 24px;
     flex-wrap: wrap;
   }

   .fixed-view-controls .view-controls {
     justify-content: space-between;
   }

   .fixed-view-controls.view-mobile .view-controls {
     justify-content: center;
     gap: 16px;
   }

   .switch-view {
     display: flex;
     align-items: center;
     gap: 12px;
   }

   .switch-label {
     font-size: 14px;
     color: #666;
     font-weight: 500;
   }

   .switch-buttons {
     display: flex;
     background: #f0f0f0;
     border-radius: 6px;
     padding: 4px;
     gap: 4px;
   }

   .switch-btn {
     padding: 8px 16px;
     border: none;
     background: transparent;
     border-radius: 4px;
     cursor: pointer;
     font-size: 14px;
     font-weight: 500;
     color: #666;
     transition: all 0.2s ease;
   }

   .switch-btn:hover {
     background: rgba(0, 0, 0, 0.05);
   }

   .switch-btn.active {
     /* background: white; */
     color: #1a1a1a;
     box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
   }

   .view-phone-button {
     padding: 10px 20px;
     background: #667eea;
     color: white;
     border: none;
     border-radius: 6px;
     cursor: pointer;
     font-size: 14px;
     font-weight: 600;
     transition: background 0.2s ease;
   }

   .view-phone-button:hover {
     background: #5568d3;
   }

   .ad-display-section {
     margin: -15px;
     padding: 0px;
     display: flex;
     flex-direction: column;
     justify-content: center;
     align-items: center;
     /* background: #fafafa; */


   }



   .ad-label {
     font-size: 12px;
     font-weight: 600;
     color: #999;
     text-transform: uppercase;
     letter-spacing: 1px;
     margin-bottom: 16px;
     text-align: center;
   }

   .ad-container {
     width: 100%;
     max-width: 1200px;
     margin: 0 auto;
     padding: 0 24px;
     transition: all 0.3s ease;
     display: flex;
     justify-content: center;
     align-items: center;
   }

   /* Override base styles when specific ad size is applied */
   .ad-container[class*="ad-size-"] {
     display: block !important;
     flex: none !important;
   }

   /* Fixed Google Display Ad Sizes */
   .ad-container.ad-size-300x250 {
     width: 100% !important;
     height: auto;
     /* max-width: 500px !important; */
     padding: 0 !important;
     margin: 0 auto;
     display: block !important;
     /* min-height: 250px; */
   }

   .ad-container.ad-size-300x600 {
     width: 100% !important;
     height: auto;
     max-width: 100% !important;
     padding: 0 !important;
     margin: 0 auto;
     display: block !important;
   }

   .ad-container.ad-size-320x480 {
     width: 320px !important;
     height: auto;
     max-width: 320px !important;
     padding: 0 !important;
     margin: 0 auto;
     display: block !important;
     min-height: 480px;
   }

   /* Creative Display within Fixed Ad Containers */
   .ad-container.ad-size-300x250 .creative-display-wrapper,
   .ad-container.ad-size-300x600 .creative-display-wrapper,
   .ad-container.ad-size-320x480 .creative-display-wrapper {
     width: 100% !important;
     height: auto;
     position: relative;
     max-width: 100%;
   }

   .ad-container.ad-size-300x250 .creative-display,
   .ad-container.ad-size-300x600 .creative-display,
   .ad-container.ad-size-320x480 .creative-display {
     width: 100% !important;
     height: auto;
     max-width: 100%;
     overflow: hidden;
     background: transparent;
     box-shadow: none;
     padding: 0;
     margin: 0;
   }

   .ad-container.ad-size-300x250 .image-overlay,
   .ad-container.ad-size-300x600 .image-overlay,
   .ad-container.ad-size-320x480 .image-overlay,
   .ad-container.ad-size-300x250 .creative-name-overlay,
   .ad-container.ad-size-300x600 .creative-name-overlay,
   .ad-container.ad-size-320x480 .creative-name-overlay {
     display: none !important;
   }

   .ad-container.ad-size-300x250 .creative-content,
   .ad-container.ad-size-300x600 .creative-content,
   .ad-container.ad-size-320x480 .creative-content {
     width: 100%;
     height: auto;
     position: relative;
     aspect-ratio: unset;
     min-height: unset;
     display: block;
   }

   .ad-container.ad-size-300x250 video,
   .ad-container.ad-size-300x600 video,
   .ad-container.ad-size-320x480 video,
   .ad-container.ad-size-300x250 img,
   .ad-container.ad-size-300x600 img,
   .ad-container.ad-size-320x480 img {
     width: 100%;
     height: auto;
     max-width: 100%;
     object-fit: contain;
     display: block;
     background: transparent;
   }

   .ad-container.ad-size-300x250 .creative-video-container,
   .ad-container.ad-size-300x600 .creative-video-container,
   .ad-container.ad-size-320x480 .creative-video-container,
   .ad-container.ad-size-300x250 .creative-image-container,
   .ad-container.ad-size-300x600 .creative-image-container,
   .ad-container.ad-size-320x480 .creative-image-container {
     width: 100%;
     height: auto;
     position: relative;
     display: block;
   }

   .ad-container.ad-size-300x250 .video-preview,
   .ad-container.ad-size-300x600 .video-preview,
   .ad-container.ad-size-320x480 .video-preview {
     width: 100%;
     height: auto;
     position: relative;
     overflow: hidden;
   }

   .ad-container.ad-size-300x250 .video-thumbnail,
   .ad-container.ad-size-300x600 .video-thumbnail,
   .ad-container.ad-size-320x480 .video-thumbnail {
     width: 100%;
     height: auto;
     object-fit: contain;
     display: block;
   }

   .ad-container.ad-size-300x250 .video-placeholder,
   .ad-container.ad-size-300x600 .video-placeholder,
   .ad-container.ad-size-320x480 .video-placeholder {
     width: 100%;
     height: auto;
     position: relative;
     background: transparent;
   }

   .ad-container.ad-size-300x250 .video-placeholder-content,
   .ad-container.ad-size-300x600 .video-placeholder-content,
   .ad-container.ad-size-320x480 .video-placeholder-content {
     width: 100%;
     height: 100%;
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     position: relative;
   }

   .ad-container.ad-size-300x250 .video-play-button,
   .ad-container.ad-size-300x600 .video-play-button,
   .ad-container.ad-size-320x480 .video-play-button {
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     width: 48px;
     height: 48px;
     background: rgba(220, 38, 38, 0.9);
     border-radius: 50%;
     border: none;
     cursor: pointer;
     display: flex;
     align-items: center;
     justify-content: center;
     z-index: 10;
     transition: all 0.2s;
   }

   .ad-container.ad-size-300x250 .video-play-button:hover,
   .ad-container.ad-size-300x600 .video-play-button:hover,
   .ad-container.ad-size-320x480 .video-play-button:hover {
     background: rgba(220, 38, 38, 1);
     transform: translate(-50%, -50%) scale(1.1);
   }

   .ad-container.ad-size-300x250 .video-play-button svg,
   .ad-container.ad-size-300x600 .video-play-button svg,
   .ad-container.ad-size-320x480 .video-play-button svg {
     width: 24px;
     height: 24px;
     color: white;
     margin-left: 2px;
   }

   .ad-container.ad-size-300x250 .creative-video,
   .ad-container.ad-size-300x600 .creative-video,
   .ad-container.ad-size-320x480 .creative-video {
     width: 100%;
     height: auto;
     object-fit: contain;
     display: block;
     background: transparent;
   }

   .ad-container.ad-size-300x250 #videoPlayer,
   .ad-container.ad-size-300x600 #videoPlayer,
   .ad-container.ad-size-320x480 #videoPlayer {
     width: 100%;
     height: auto;
     position: relative;
   }

   .ad-container.ad-size-300x250 #videoPlayer video,
   .ad-container.ad-size-300x600 #videoPlayer video,
   .ad-container.ad-size-320x480 #videoPlayer video {
     width: 100%;
     height: auto;
     object-fit: contain;
     background: transparent;
   }

   .ad-container.ad-size-300x250 #videoPlayer,
   .ad-container.ad-size-300x600 #videoPlayer,
   .ad-container.ad-size-320x480 #videoPlayer {
     width: 100%;
     height: 100%;
     position: relative;
   }

   .ad-container.ad-size-300x250 #videoPlayer video,
   .ad-container.ad-size-300x600 #videoPlayer video,
   .ad-container.ad-size-320x480 #videoPlayer video {
     width: 100%;
     height: 100%;
     object-fit: cover;
   }

   /* Custom Video Controls */
   .creative-video-container,
   .creative-interactive-container {
     position: relative;
   }

   .custom-video-controls {
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
     padding: 12px 16px;
     display: flex;
     align-items: center;
     gap: 12px;
     z-index: 10;
     opacity: 0;
     visibility: hidden;
     transition: opacity 0.3s ease, visibility 0.3s ease;
   }

   /* Show controls on hover */
   .creative-video-container:hover .custom-video-controls,
   .creative-interactive-container:hover .custom-video-controls {
     opacity: 1;
     visibility: visible;
   }

   /* Show controls when video is paused */
   .creative-video-container.video-paused .custom-video-controls,
   .creative-interactive-container.video-paused .custom-video-controls {
     opacity: 1;
     visibility: visible;
   }

   .video-control-btn {
     background: transparent;
     border: none;
     color: white;
     cursor: pointer;
     padding: 4px;
     display: flex;
     align-items: center;
     justify-content: center;
     transition: opacity 0.2s ease;
     flex-shrink: 0;
   }

   .video-control-btn:hover {
     opacity: 0.8;
   }

   .video-control-btn svg {
     display: block;
   }

   .video-progress-container {
     flex: 1;
     display: flex;
     align-items: center;
     min-width: 0;
   }

   .video-progress-bar {
     width: 100%;
     height: 4px;
     background: rgba(255, 255, 255, 0.3);
     border-radius: 2px;
     position: relative;
     cursor: pointer;
   }

   .video-progress-filled {
     height: 100%;
     background: #dc2626;
     border-radius: 2px;
     width: 0%;
     will-change: width;
   }

   .video-progress-handle {
     position: absolute;
     top: 50%;
     width: 12px;
     height: 12px;
     background: #dc2626;
     border-radius: 50%;
     border: 2px solid white;
     cursor: pointer;
     left: 0%;
     will-change: transform;
     transform: translate(-50%, -50%);
     transition: transform 0.1s ease-out;
   }

   .video-progress-handle:hover {
     transform: translate(-50%, -50%) scale(1.2);
   }

   /* Smooth animation when not dragging */
   .video-progress-bar:not(.dragging) .video-progress-handle {
     transition: transform 0.1s ease-out;
   }

   /* No transition when dragging for immediate response */
   .video-progress-bar.dragging .video-progress-handle {
     transition: none;
   }

   .video-time {
     color: white;
     font-size: 14px;
     font-weight: 500;
     white-space: nowrap;
     min-width: 50px;
     text-align: right;
   }


   /* Mobile Phone Frame - Enhanced Design with Image */
   .mobile-phone-frame {
     width: 320px;
     height: auto;
     aspect-ratio: 377 / 766;
     /* Approximate ratio based on common mockups, will adjust if needed */
     background-image: url('assets/img/mobileView.png');
     background-size: contain;
     background-repeat: no-repeat;
     background-position: center;
     background-color: transparent;
     box-shadow: none;
     position: relative;
     flex-shrink: 0;
     margin: auto;
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     border-radius: 0;
     padding: 0;
     transform: translateZ(0);
   }

   /* Remove CSS notch/bezel decorations */
   .mobile-phone-frame::before {
     display: none;
   }

   .mobile-phone-screen {
     width: 86%;
     /* Estimated screen width inside frame */
     height: 88%;
     /* Estimated screen height inside frame */
     border-radius: 30px;
     /* Match inner corner radius of image */
     overflow: hidden;
     position: absolute;
     top: 8%;
     /* Center visually */
     left: 7%;
     display: flex;
     flex-direction: column;
     z-index: -1;
     /* Place behind if image has transparent screen hole, otherwise z-index 1 on top */
   }

   /* If image has opaque screen area, we need to place content ON TOP. 
       Usually these generic frames have a transparent hole or we overlay.
       Let's assume overlay on top if no transparent hole, or under if hole.
       User said "Use this image for mobile view".
       Let's try z-index 1 and position carefully. 
    */
   .mobile-phone-screen {
     z-index: 1;
   }

   /* Remove extra decorations from screen */
   .mobile-phone-screen::before {
     display: none;
   }

   .mobile-phone-screen::after {
     display: none;
   }

   .mobile-phone-screen::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     width: 100%;
     height: 20px;
     z-index: 99;
     pointer-events: none;
     border-radius: 34px 34px 0 0;
   }

   .mobile-phone-screen::after {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     width: 100%;
     height: 60px;
     background: transparent;
     z-index: 102;
     pointer-events: none;
   }

   .mobile-phone-screen .home-indicator {
     position: absolute;
     bottom: 8px;
     left: 50%;
     transform: translateX(-50%);
     width: 134px;
     height: 5px;
     background: #333;
     border-radius: 3px;
     z-index: 1000;
     pointer-events: none;
   }

   .mobile-content-wrapper {
     width: 100%;
     height: 100%;
     overflow-y: auto;
     overflow-x: hidden;
     padding-top: 20px;
     padding-bottom: 20px;
     -webkit-overflow-scrolling: touch;
     scroll-behavior: smooth;
     position: relative;
     scrollbar-width: thin;
     scrollbar-color: rgba(0, 0, 0, 0.3) transparent;
   }

   .mobile-content-wrapper::-webkit-scrollbar {
     width: 6px;
   }

   .mobile-content-wrapper::-webkit-scrollbar-track {
     background: transparent;
     border-radius: 10px;
   }

   .mobile-content-wrapper::-webkit-scrollbar-thumb {
     background: rgba(0, 0, 0, 0.3);
     border-radius: 10px;
   }

   .mobile-content-wrapper::-webkit-scrollbar-thumb:hover {
     background: rgba(0, 0, 0, 0.5);
   }

   /* Mobile Content Styles */
   .mobile-content-wrapper .website-demo-tag.mobile {
     margin: 20px 16px 16px 16px;
     font-size: 11px;
     padding: 6px 16px;
     display: inline-block;
     box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
   }

   .mobile-content-wrapper .content-title.mobile {
     font-size: 1.5rem;
     font-weight: 700;
     margin: 0 16px 12px 16px;
     line-height: 1.3;
     color: #1a1a1a;
     letter-spacing: -0.02em;
   }

   .mobile-content-wrapper .content-subtitle.mobile {
     font-size: 1.25rem;
     font-weight: 600;
     margin: 0 16px 20px 16px;
     line-height: 1.4;
     color: #1a1a1a;
     letter-spacing: -0.01em;
   }

   .mobile-content-wrapper .content-intro.mobile {
     font-size: 0.9rem;
     line-height: 1.7;
     margin: 0 16px 28px 16px;
     color: #4a4a4a;
     letter-spacing: 0.01em;
   }

   .mobile-content-wrapper .ad-display-section.mobile {
     margin: 32px 0;
     padding: 20px 0;
     background: transparent;
     border-top: 1px solid #e5e5e5;
     border-bottom: 1px solid #e5e5e5;
     width: 100%;
   }

   .mobile-content-wrapper .ad-label.mobile {
     font-size: 10px;
     font-weight: 600;
     color: #999;
     text-transform: uppercase;
     letter-spacing: 1.2px;
     margin-bottom: 16px;
     padding: 0 16px;
     text-align: center;
   }

   .mobile-content-wrapper .ad-container.mobile {
     padding: 0 0px;
     display: flex;
     justify-content: center;
     align-items: center;
   }

   /* Full width for dynamic ad sizes and videos */
   .mobile-content-wrapper .ad-container.mobile.ad-size-1080x1900,
   .mobile-content-wrapper .ad-container.mobile.ad-size-1200x1200 {
     padding: 0 !important;
     width: 100% !important;
     max-width: 100% !important;
     margin: 0 !important;
   }

   .mobile-content-wrapper .ad-container.mobile.ad-size-300x250 {
     width: 250px !important;
     height: auto;
     max-width: 300px !important;
     padding: 0 !important;
     min-height: 250px;
   }

   .mobile-content-wrapper .ad-container.mobile.ad-size-300x600 {
     width: 240px !important;
     height: auto;
     max-width: 300px !important;
     padding: 0 !important;
   }

   .mobile-content-wrapper .ad-container.mobile.ad-size-320x480 {
     width: 320px !important;
     height: auto;
     max-width: 320px !important;
     padding: 0 !important;
     min-height: 480px;
   }

   /* Dynamic ad sizes for mobile - full width */
   .mobile-content-wrapper .ad-container.mobile.ad-size-1200x1200,
   .mobile-content-wrapper .ad-container.mobile.ad-size-1080x1900 {
     width: 100% !important;
     max-width: 100% !important;
     padding: 0 !important;
     margin: 0 !important;
   }

   .mobile-content-wrapper .ad-container.mobile.ad-size-1080x1900 {
     aspect-ratio: 1080 / 1900;
     min-height: auto;
   }

   .mobile-content-wrapper .ad-container.mobile.ad-size-1200x1200 {
     aspect-ratio: 1 / 1;
     min-height: auto;
   }

   .mobile-content-wrapper .ad-container.mobile .creative-display-wrapper {
     width: 100%;
     height: auto;
     overflow: hidden;
     box-shadow: none;
   }

   .mobile-content-wrapper .key-points-section.mobile {
     padding: 0 16px 40px 16px;
     gap: 24px;
     margin-top: 32px;
   }

   .mobile-content-wrapper .key-point.mobile {
     padding: 18px;
     margin-bottom: 0;
     background: #f9f9f9;
     border-radius: 12px;
     border-left: 3px solid var(--primary-red);
     box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
   }

   .mobile-content-wrapper .key-point-title.mobile {
     font-size: 1rem;
     font-weight: 600;
     margin-bottom: 10px;
     color: #1a1a1a;
     line-height: 1.4;
   }

   .mobile-content-wrapper .key-point-text.mobile {
     font-size: 0.85rem;
     line-height: 1.65;
     color: #4a4a4a;
   }

   /* Desktop/Mobile View Styles */
   .ad-container.view-desktop .creative-display-wrapper {
     width: 100%;
     max-width: 100%;
   }

   .ad-container.mobile {
     width: 100%;
     display: flex;
     justify-content: center;
     align-items: center;
   }

   .ad-container.mobile.ad-size-300x250 {
     width: 300px !important;
     height: auto;
     max-width: 300px !important;
     min-height: 250px;
   }

   .ad-container.mobile.ad-size-300x600 {
     width: 300px !important;
     height: auto;
     max-width: 300px !important;
   }

   .ad-container.mobile.ad-size-320x480 {
     width: 320px !important;
     height: auto;
     max-width: 320px !important;
     min-height: 480px;
   }

   /* Dynamic ad sizes for mobile - full width */
   .ad-container.mobile.ad-size-1200x1200,
   .ad-container.mobile.ad-size-1080x1900 {
     width: 100% !important;
     max-width: 100% !important;
     padding: 0 !important;
     margin: 0 !important;
   }

   .ad-container.mobile.ad-size-1080x1900 {
     aspect-ratio: 1080 / 1900;
     min-height: auto;
   }

   .ad-container.mobile.ad-size-1200x1200 {
     aspect-ratio: 1 / 1;
     min-height: auto;
   }

   .ad-container.mobile .creative-display-wrapper {
     width: 100%;
     height: auto;
   }

   .ad-container.mobile .creative-video-container,
   .ad-container.mobile .creative-image-container,
   .ad-container.mobile .creative-interactive-container {
     width: 100%;
     height: auto;
     max-width: 100%;
   }

   .ad-container.mobile video,
   .ad-container.mobile img {
     width: 100% !important;
     height: auto;
     max-width: 100%;
     object-fit: cover;
     display: block;
   }

   /* For dynamic ad sizes, make video fill container and take full width */
   .ad-container.mobile.ad-size-1080x1900 video,
   .ad-container.mobile.ad-size-1200x1200 video,
   .mobile-content-wrapper .ad-container.mobile.ad-size-1080x1900 video,
   .mobile-content-wrapper .ad-container.mobile.ad-size-1200x1200 video {
     width: 100% !important;
     height: 100% !important;
     max-width: 100% !important;
     object-fit: cover;
     display: block;
   }

   /* Make video containers full width for dynamic sizes */
   .mobile-content-wrapper .ad-container.mobile.ad-size-1080x1900 .creative-video-container,
   .mobile-content-wrapper .ad-container.mobile.ad-size-1200x1200 .creative-video-container,
   .mobile-content-wrapper .ad-container.mobile.ad-size-1080x1900 .creative-interactive-container,
   .mobile-content-wrapper .ad-container.mobile.ad-size-1200x1200 .creative-interactive-container {
     width: 100% !important;
     max-width: 100% !important;
     padding: 0 !important;
     margin: 0 !important;
   }

   .key-points-section {
     display: flex;
     flex-direction: column;
     gap: 32px;
     margin: 48px 0;
   }

   .details-content.view-mobile .ad-display-section {
     margin: 24px 0;
     padding: 20px 0;
     background: #f9f9f9;
     width: 100%;
     box-sizing: border-box;
     flex-shrink: 0;
   }

   .details-content.view-mobile .ad-label {
     font-size: 11px;
     margin-bottom: 12px;
     color: #999;
   }

   .details-content.view-mobile .ad-container {
     width: 100%;
     padding: 0 16px;
     box-sizing: border-box;
   }

   .ad-container .creative-display {
     border-radius: 0px;
     padding: 24px;
   }

   .loading-state,
   .error-state {
     max-width: 1200px;
     margin: 100px auto;
     text-align: center;
   }

   .error-state h1 {
     font-size: 2rem;
     margin-bottom: 16px;
     color: #333;
   }

   .error-state p {
     font-size: 1rem;
     color: #666;
     margin-bottom: 24px;
   }

   /* Main Content Styles */
   .website-demo-tag {
     display: inline-block;
     background: var(--primary-red);
     color: white;
     padding: 6px 16px;
     border-radius: 20px;
     font-size: 12px;
     font-weight: 600;
     margin-bottom: 16px;
     text-transform: uppercase;
     letter-spacing: 0.5px;
   }

   .mobile-content-wrapper .website-demo-tag.mobile {
     display: inline-block;
     background: var(--primary-red);
     color: white;
     padding: 6px 16px;
     border-radius: 20px;
     font-size: 11px;
     font-weight: 600;
     margin: 16px 16px 12px 16px;
     text-transform: uppercase;
     letter-spacing: 0.5px;
   }

   .details-content-section {
     max-width: 900px;
     margin: 0 auto;
     padding: 40px 24px;
   }

   .content-title {
     font-size: 2rem;
     font-weight: 700;
     color: #1a1a1a;
     margin-bottom: 16px;

   }

   .content-subtitle {
     font-size: 1.75rem;
     font-weight: 600;
     color: #1a1a1a;
     margin-bottom: 24px;
   }

   .content-intro,
   .content-outro {
     font-size: 1rem;
     line-height: 1.8;
     color: #4a4a4a;
     margin-bottom: 32px;
   }

   .key-points {
     display: flex;
     flex-direction: column;
     gap: 32px;
     margin: 40px 0;
   }

   .key-point {
     padding: 24px;
     background: #f9f9f9;
     border-radius: 8px;
     border-left: 4px solid #667eea;
   }

   .key-point-title {
     font-size: 1.25rem;
     font-weight: 600;
     color: #1a1a1a;
     margin-bottom: 12px;
   }

   .key-point-text {
     font-size: 1rem;
     line-height: 1.7;
     color: #4a4a4a;
     margin: 0;
   }

   .content-footer {
     margin-top: 48px;
     padding-top: 32px;
     border-top: 1px solid #e0e0e0;
     text-align: center;
   }

   .footer-text {
     font-size: 1rem;
     color: #666;
     margin: 8px 0;
     font-weight: 500;
   }

   .details-content.view-mobile .details-content-section {
     max-width: 100%;
     padding: 20px 16px;
     margin: 0;
     width: 100%;
     box-sizing: border-box;
     flex-shrink: 0;
   }

   .details-content.view-mobile .details-content-section:first-of-type {
     padding-top: 16px;
     padding-left: 16px;
     padding-right: 16px;
   }

   .details-content.view-mobile .details-content-section:last-of-type {
     padding-bottom: 30px;
   }

   .details-content.view-mobile .content-title {
     font-size: 1.75rem;
     margin-bottom: 8px;
     font-weight: 700;
     line-height: 1.2;
   }

   .details-content.view-mobile .content-subtitle {
     font-size: 1.5rem;
     margin-bottom: 20px;
     line-height: 1.3;
     font-weight: 600;
     color: #1a1a1a;
   }

   .details-content.view-mobile .content-intro,
   .details-content.view-mobile .content-outro {
     font-size: 0.95rem;
     line-height: 1.7;
     margin-bottom: 24px;
   }

   .details-content.view-mobile .key-points {
     gap: 20px;
     margin: 24px 0;
   }

   .details-content.view-mobile .key-point {
     padding: 16px;
   }

   .details-content.view-mobile .key-point-title {
     font-size: 1.1rem;
     margin-bottom: 10px;
   }

   .details-content.view-mobile .key-point-text {
     font-size: 0.9rem;
     line-height: 1.6;
   }

   .details-content.view-mobile .content-footer {
     margin-top: 32px;
     padding-top: 24px;
     padding-bottom: 40px;
   }

   .details-content.view-mobile .footer-text {
     font-size: 0.9rem;
   }

   /* Responsive */
   @media (max-width: 768px) {
     .portfolioLayout {
       flex-direction: column;
       height: auto;
       overflow: visible;
     }

     .filter-sidebar {
       width: 100%;
       height: auto;
       position: fixed;
       top: 70px;
       left: 0;
       right: 0;
       bottom: 0;
       z-index: 999;
       transform: translateX(-100%);
       transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
       box-shadow: 2px 0 20px rgba(0, 0, 0, 0.15);
       overflow-y: auto;
       overflow-x: hidden;
       padding: 0;
       max-height: calc(100vh - 70px);
       display: flex;
       flex-direction: column;
     }

     .filter-sidebar.active {
       transform: translateX(0);
     }

     .filter-header-mobile {
       display: flex;
       align-items: center;
       justify-content: space-between;
       padding: 20px;
       background: linear-gradient(135deg, var(--primary-red) 0%, #b91c1c 100%);
       color: white;
       position: sticky;
       top: 0;
       z-index: 10;
       box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
     }

     .filter-header-title {
       font-size: 20px;
       font-weight: 700;
       margin: 0;
       text-transform: uppercase;
       letter-spacing: 1px;
     }

     .filter-close-button {
       background: rgba(255, 255, 255, 0.2);
       border: none;
       color: white;
       width: 40px;
       height: 40px;
       border-radius: 8px;
       cursor: pointer;
       display: flex;
       align-items: center;
       justify-content: center;
       transition: all 0.3s ease;
       backdrop-filter: blur(10px);
     }

     .filter-close-button:hover {
       background: rgba(255, 255, 255, 0.3);
       transform: rotate(90deg);
     }

     .filter-search-container {
       display: block;
       position: relative;
       padding: 16px 20px;
       background: #ffff;
       /* border-bottom: 1px solid #e9ecef; */
     }

     .filter-search-input {
       width: 100%;
       padding: 12px 16px 12px 44px;
       border: 2px solid #e9ecef;
       border-radius: 8px;
       font-size: 16px;
       background: white;
       transition: all 0.3s ease;
     }

     .filter-search-input:focus {
       outline: none;
       border-color: var(--primary-red);
       box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1);
     }

     .filter-search-icon {
       position: absolute;
       left: 36px;
       top: 50%;
       transform: translateY(-50%);
       color: #6c757d;
       pointer-events: none;
     }

     .filter-content-wrapper {
       padding: 20px 10px;
       flex: 1;
       overflow-y: auto;
     }

     .filter-overlay {
       display: none;
       position: fixed;
       top: 70px;
       left: 0;
       right: 0;
       bottom: 0;
       background: rgba(0, 0, 0, 0.5);
       z-index: 998;
       opacity: 0;
       transition: opacity 0.3s ease-in-out;
     }

     .filter-overlay.active {
       display: block;
       opacity: 1;
     }

     .filter-sidebar .filter-section {
       margin-bottom: 28px;
     }

     .filter-sidebar .filter-section-title {
       font-size: 14px;
       margin-bottom: 16px;
       padding-bottom: 10px;
     }

     .filter-checkbox {
       padding: 10px 18px;
       font-size: 14px;
       min-height: 40px;
       gap: 14px;
     }

     .filter-checkbox input[type='checkbox'] {
       width: 18px;
       height: 18px;
       min-width: 18px;
       min-height: 18px;
     }

     .reset-button {
       padding: 18px 20px;
       font-size: 16px;
       min-height: 56px;
       margin-top: 24px;
     }

     .mainContent {
       max-width: 100%;
       padding: 16px;
       overflow-y: visible;
       height: auto;
     }

     .pageTitle {
       font-size: 24px;
     }

     .campaign-grid {
       grid-template-columns: 1fr;
       gap: 16px;
     }

     .pagination-container {
       padding: 20px 16px;
       margin: 24px 0;
     }

     .pagination-controls {
       flex-direction: column;
       gap: 16px;
     }

     .pagination-numbers {
       flex-wrap: wrap;
       justify-content: center;
     }

     .pagination-number {
       min-width: 36px;
       height: 36px;
       font-size: 13px;
     }

     .pagination-btn {
       width: 100%;
       max-width: 200px;
       justify-content: center;
     }

     /* Responsive Layout for Details Page */
     .details-container {
       margin-top: 70px;
       height: calc(100vh - 70px);
       overflow-y: auto;
     }

     .details-layout {
       flex-direction: column;
       height: auto;
       min-height: calc(100vh - 70px);
     }

     .details-main-content {
       max-width: 100%;
       padding: 20px 16px;
       margin-right: 0;
       width: 100%;
       overflow-x: hidden;
     }

     .details-sidebar {
       width: 100% !important;
       min-width: 100% !important;
       position: relative !important;
       height: auto !important;
       border-left: none;
       border-top: 1px solid #e0e0e0;
       top: 0 !important;
       right: 0 !important;
       padding: 20px 16px;
       background: #fafafa;
       overflow-y: visible;
     }

     /* Hide sidebar completely on mobile devices */
     .details-container.view-mobile .details-sidebar,
     .details-sidebar {
       display: none !important;
     }

     .details-container.view-mobile .details-layout {
       padding: 0;
       flex-direction: column;
       height: auto;
       overflow-y: visible;
     }

     /* Hide sidebar completely on mobile devices */
     .details-container.view-mobile .details-sidebar,
     .details-sidebar {
       display: none !important;
     }

     .details-container.view-mobile .details-main-content {
       padding: 20px 16px;
       margin-right: 0;
       width: 100%;
       height: auto;
       min-height: auto;
       display: block !important;
     }

     /* Hide mobile phone frame on real mobile devices */
     .mobile-phone-frame,
     .mobile-phone-screen {
       display: block !important;
     }

     /* Show content directly without phone frame wrapper */
     .mobile-content-wrapper {
       position: relative !important;
       padding-top: 0 !important;
       height: auto !important;
       padding-bottom: 20px !important;
       background: transparent !important;
       padding-left: 0 !important;
       padding-right: 0 !important;
     }

     /* Make mobile content styles work without frame */
     .mobile-content-wrapper .website-demo-tag.mobile,
     .mobile-content-wrapper .content-title.mobile,
     .mobile-content-wrapper .content-subtitle.mobile,
     .mobile-content-wrapper .content-intro.mobile {
       margin-left: 0;
       margin-right: 0;
       padding-left: 16px;
       padding-right: 16px;
     }

     .mobile-content-wrapper .ad-display-section.mobile {
       padding-left: 16px;
       padding-right: 16px;
     }

     .mobile-content-wrapper .key-points-section.mobile {
       padding-left: 16px;
       padding-right: 16px;
     }

     .sidebar-qr-section {
       margin-top: 0;
       padding-top: 0;
       border-top: none;
     }

     .details-container:not(.view-mobile) {
       padding: 0;
     }

     .details-meta-info {
       gap: 20px;
       flex-wrap: wrap;
     }

     .meta-value {
       font-size: 16px;
     }

     .meta-label {
       font-size: 12px;
     }

     .view-controls {
       flex-direction: column;
       align-items: flex-start;
       gap: 16px;
     }

     .switch-view {
       width: 100%;
     }

     .switch-buttons {
       flex: 1;
     }

     .switch-btn {
       flex: 1;
     }

     .view-phone-button {
       width: 100%;
     }

     .ad-display-section {
       margin: 32px 0;
       padding: 24px 0;
     }

     .ad-container {
       padding: 0 16px;
     }

     .ad-container .creative-display {
       padding: 16px;
     }

     .details-content-section:not(.view-mobile) {
       padding: 24px 16px;
       margin-top: 32px;
     }

     .content-title {
       font-size: 1.5rem;
     }

     .content-subtitle {
       font-size: 1.5rem;
     }

     .key-point {
       padding: 20px;
     }

     .key-point-title {
       font-size: 1.1rem;
     }

     .creative-content {
       min-height: 100%;
       aspect-ratio: 0;
     }

     /* .view-mobile{
      aspect-ratio: 0 !important;
     } */

     .video-play-button {
       width: 60px;
       height: 60px;
     }

     .video-play-button svg {
       width: 24px;
       height: 24px;
     }

     .image-overlay {
       font-size: 1.5rem;
     }

     .creative-name-overlay {
       font-size: 1.2rem;
     }
   }

   /* Old mobile view media queries removed - using new layout structure */

   /* DUAL VIEW STYLES */
   .details-container.dual-view-mode {
     height: calc(100vh - 80px);
     /* Adjust based on header height */
     overflow: hidden;
     padding: 0;
     display: flex;
   }

   .details-main-content.dual-view-layout {
     /* display: flex; */
     flex: 1;
     /* background: #fff; */
     height: 100%;
     overflow: hidden;
     justify-content: center;
   }

   .view-column {
     /* flex: 0; */
     display: flex;
     flex-direction: column;
     /* border-right: 1px solid rgba(0, 0, 0, 0.1); */
     height: 100%;
     overflow: hidden;
     position: relative;

     /* 23-jan-2026 */
   }

   .view-column:last-child {
     border-right: none;
   }

   .view-column.mobile-column {
     /* background: #fff; */
     /* Slightly darker to distinguish */
     flex: 0 0 450px;
     /* max-width: 35%; */
   }

   .column-header {
     padding: 12px 20px;
     /* background: #fff; */
     /* border-bottom: 1px solid #ddd; */
     font-weight: 700;
     color: #333;
     text-transform: uppercase;
     font-size: 12px;
     letter-spacing: 1px;
     display: none;
     align-items: center;
     justify-content: center;
     box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);

     z-index: 10;
   }

   .column-content {
     flex: 1;
     overflow: hidden;
     padding: 20px;
     position: relative;
   }

   /* Custom Scrollbar for columns */
   .column-content::-webkit-scrollbar {
     width: 8px;
   }

   .column-content::-webkit-scrollbar-track {
     background: transparent;
   }

   .column-content::-webkit-scrollbar-thumb {
     background: #ccc;
     border-radius: 4px;
   }

   .column-content::-webkit-scrollbar-thumb:hover {
     background: #bbb;
   }

   /* Specific Adjustments for Desktop View in Column */
   .view-column.desktop-column .column-content {
     display: flex;
     justify-content: center;
     align-items: center;
     padding: 0px;
     overflow-y: hidden;
     /* Hide scroll on the container, scroll inside screen */
   }

   /* .desktop-monitor-frame {
     width: 100%;
     max-width: 80%;

     aspect-ratio: 16 / 9;
   
     background-image: url('assets/img/desktopView.png');
     background-size: cover;
     background-repeat: no-repeat;
     background-position: center;
     position: relative;
    
   } */
   /* 
   @media screen and (min-width: 2560px) {
     .desktop-monitor-frame {
       max-width: 60%;
     }
   } */

   /* Laptop & default screens */
   .desktop-monitor-frame {
     width: 100%;
     max-width: 75%;
     aspect-ratio: 16 / 9;
     background-image: url('assets/img/desktopView.png');
     background-size: cover;
     background-repeat: no-repeat;
     background-position: center;
     position: relative;
   }

   /* Large desktop (23" QHD and above) */
   @media screen and (min-width: 1920px) {
     .desktop-monitor-frame {
       max-width: 70%;
     }

     .desktop-main-container {
       width: 96%;
       left: 70px !important;
       position: relative;
       margin: 50px auto;
     }
   }


   .desktop-main-container {
     width: 96%;
     left: 55px;
     position: relative;
     margin: 50px auto;
   }

   .desktop-screen-content {
     position: absolute;
     top: 4%;
     left: 0;
     width: 87%;
     height: 88%;
     overflow-y: auto;
     overflow-x: hidden;
     padding: 10px 60px;
     /* background: white; */
     /* Ensure content has background */
     /* border: 1px solid red; /* Debugging alignment */
     border-radius: 4px;
     /* Slight radius to match screen */
   }

   /* Adjust content inside the desktop screen */
   .desktop-screen-content .content-title {
     font-size: 24px;
   }

   .desktop-screen-content .content-subtitle {
     font-size: 18px;
   }

   /* Specific Adjustments for Mobile View in Column */
   .view-column.mobile-column .column-content {
     display: flex;
     justify-content: center;
     align-items: flex-start;
     /* Align top so scrolling works naturally */
     padding-top: 0px;
     margin-top: 10px;
   }

   .view-column.mobile-column .mobile-phone-frame {
     transform: scale(0.85);
     /* Scale down slightly to fit better if needed */
     margin-top: 0;
     transform-origin: top center;
   }

   /* Adjust Sidebar for Dual View Mode */
   .details-container.dual-view-mode .details-sidebar {
     width: 250px;
     /* Slightly narrower sidebar */
     z-index: 20;
   }

   @media (max-width: 1200px) {
     .view-column.mobile-column {
       flex: 0 0 380px;
     }

     .view-column.mobile-column .mobile-phone-frame {
       transform: scale(0.75);
     }
   }

   @media (max-width: 900px) {

     /* Disable Dual View Layout - Switch to Native Mobile View */
     .details-container.dual-view-mode {
       height: auto;
       overflow: visible;
       display: block;
       margin-top: 100px;
       /* Ensure content is below fixed header */
     }

     .details-main-content.dual-view-layout {
       display: block;
       height: auto;
       overflow: visible;

     }

     .view-column.desktop-column {
       /* display: none !important; */
       width: 100%;
       flex: none;
       height: auto;
       overflow: visible;
     }

     .view-column.desktop-column .column-content {
       display: block;
       padding: 0;
     }

     .desktop-monitor-frame {
       aspect-ratio: auto;
       height: auto;
       background: none;
       width: 100%;
       max-width: 100% !important;
     }

     .desktop-main-container {
       width: 100%;
       left: 0px;
       position: relative;
       margin: 10px auto;
     }

     .desktop-screen-content {
       position: relative;
       top: auto;
       left: auto;
       width: 100%;
       height: auto;
       overflow: visible;
       padding: 20px;
       border: none;
     }

     /* Reset Mobile Column to full width native view */
     .view-column.mobile-column {
       flex: none;
       width: 100%;
       max-width: 100%;
       height: auto;
       /* background: #fff; */
       border: none;
       overflow: visible;
     }

     .view-column.mobile-column .column-content {
       padding: 0;
       overflow: visible;
       display: block;
       /* Ensure block layout */
     }

     /* Remove Mobile Phone Frame properties */
     .view-column.mobile-column .mobile-phone-frame {
       width: 100%;
       height: auto;
       min-height: auto;
       /* Reset min-height */
       aspect-ratio: auto;
       background-image: none;
       box-shadow: none;
       filter: none;
       margin: 0;
       transform: none;
       padding: 0;
       max-width: 100%;
       display: block;
       /* Switch from flex to block layout */
     }

     /* Reset Mobile Screen */
     .mobile-phone-screen {
       position: relative;
       top: auto;
       left: auto;
       width: 100%;
       height: auto;
       border-radius: 0;
       /* background: #fff; */
       /* Ensure white background */
       z-index: 50;
       /* Ensure on top */
       overflow: visible;
       display: block;
       opacity: 1;
       visibility: visible;
     }

     .mobile-content-wrapper {
       padding-bottom: 40px;
       overflow: visible;
       height: auto;
       display: block;
       opacity: 1;
       visibility: visible;
       /* background: #fff; */
     }

     .mobile-content-wrapper::-webkit-scrollbar {
       display: none;
     }
   }

   @media (max-width: 768px) {
     .search-clear-btn {
       right: 30px !important;
     }
   }

   /* Search Clear Button */
   .search-clear-btn {
     position: absolute;
     right: 12px;
     top: 50%;
     transform: translateY(-50%);
     background: none;
     border: none;
     color: #9ca3af;
     cursor: pointer;
     padding: 4px;
     border-radius: 50%;
     display: none;
     align-items: center;
     justify-content: center;
     transition: all 0.2s;
     z-index: 10;
   }

   .search-clear-btn:hover {
     background-color: #f3f4f6;
     color: var(--primary-red);
   }

   .search-clear-btn svg {
     width: 16px;
     height: 16px;
   }

   /* Auto-suggest Dropdown */
   .suggestions-dropdown {
     position: absolute;
     top: 100%;
     left: 0;
     right: 0;
     background: white;
     border: 1px solid #e5e7eb;
     border-top: none;
     border-radius: 0 0 8px 8px;
     box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
     max-height: 300px;
     overflow-y: auto;
     z-index: 50;
     display: none;
     margin-top: 4px;
   }

   .suggestions-dropdown.active {
     display: block;
   }

   .suggestion-item {
     padding: 10px 16px;
     cursor: pointer;
     font-size: 14px;
     color: var(--text-dark);
     display: flex;
     align-items: center;
     gap: 10px;
     transition: background-color 0.2s;
   }

   .suggestion-item:hover,
   .suggestion-item.selected {
     background-color: #f3f4f6;
   }

   .suggestion-icon {
     color: #9ca3af;
     width: 16px;
     height: 16px;
     flex-shrink: 0;
   }

   .suggestion-text {
     flex: 1;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
   }

   .suggestion-type {
     font-size: 11px;
     color: #9ca3af;
     text-transform: uppercase;
     letter-spacing: 0.5px;
     background: #f3f4f6;
     padding: 2px 6px;
     border-radius: 4px;
   }

   .suggestion-item.no-results {
     color: #9ca3af;
     cursor: default;
     font-style: italic;
   }

   .suggestion-item.no-results:hover {
     background-color: white;
   }

   /* Mobile Title Layout Override */
   @media (max-width: 768px) {
     .portfolioContainer {
       margin-top: 70px !important;
     }

     .mainContent {
       padding-top: 10px !important;
       margin-top: 15px !important;
     }

     .pageTitle {
       margin-top: 0 !important;
       margin-bottom: 20px !important;
       padding-top: 0 !important;
     }

   }

   /* Excel Download Section */
   .excel-download-container {
     width: 100%;
     margin: 20px auto;
     background: #fff;
     padding: 16px 8px;
     border-radius: 8px;
     border: 1px solid #e5e7eb;
     box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
   }

   .excel-download-container h2 {
     font-size: 15px;
     margin-bottom: 12px;
     color: var(--text-dark);
     font-weight: 600;
     text-align: left;
   }

   .excel-controls {
     display: flex;
     gap: 6px;
     align-items: center;
   }

   .excel-download-container select {
     flex: 1;
     padding: 8px 12px;
     font-size: 13px;
     border-radius: 6px;
     border: 1px solid #ccc;
     background-color: white;
     margin-top: 0;
     width: 165px;
   }

   .excel-download-container button {
     width: 38px;
     height: 38px;
     padding: 0;
     display: flex;
     align-items: center;
     justify-content: center;
     border-radius: 6px;
     /* Make it circular */
     background: #007bff;
     color: white;
     border: none;
     cursor: pointer;
     transition: background 0.3s, transform 0.2s;
     font-weight: 500;
     margin-top: 0;
     flex-shrink: 0;
     /* Prevent shrinking */
   }

   .excel-download-container button:hover {
     background: #0056b3;
     transform: scale(1.05);
     /* Slight hover effect */
   }

   .excel-download-container button svg {
     width: 20px;
     height: 20px;
     pointer-events: none;
     /* Ensure clicks register on button */
   }

   /* Platform Tags/Chips Styles */
   .campaign-platform-tags {
     display: flex;
     flex-wrap: wrap;
     gap: 6px;
     margin-bottom: 8px;
     /* Add some space below tags */
   }

   .campaign-platform-chip {
     background: linear-gradient(135deg, rgba(243, 244, 246, 0.9) 0%, rgba(229, 231, 235, 0.9) 100%);
     backdrop-filter: blur(10px);
     -webkit-backdrop-filter: blur(10px);
     color: var(--text-dark);
     padding: 6px 10px;
     border-radius: 8px;
     /* Slightly more rounded */
     font-weight: 700;
     font-size: 10px;
     /* Slightly smaller to fit better */
     text-transform: uppercase;
     letter-spacing: 0.5px;
     border: 1px solid rgba(255, 255, 255, 0.5);
     box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
     transition: all 0.3s ease;
     white-space: nowrap;
   }

   .campaign-card:hover .campaign-platform-chip {
     transform: translateY(-1px);
     box-shadow: 0 3px 6px rgba(0, 0, 0, 0.08);
     background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
   }

   /* Adjust meta layout to accommodate wrapped tags */
   .campaign-meta {
     flex-direction: row;
     /* Stack tags and industry vertically if needed */
     align-items: flex-start;
     gap: 8px;
   }

   /* Industry Tags/Chips Styles */
   .campaign-industry-tags {
     display: flex;
     flex-wrap: wrap;
     gap: 6px;
   }

   .campaign-industry-chip {
     background: #0879e7;
     color: white;
     padding: 6px 10px;
     border-radius: 8px;
     font-weight: 700;
     font-size: 10px;
     text-transform: uppercase;
     letter-spacing: 0.5px;
     box-shadow: 0 2px 4px rgba(220, 38, 38, 0.2);
     transition: all 0.3s ease;
     white-space: nowrap;
   }

   .campaign-card:hover .campaign-industry-chip {
     transform: translateY(-1px);
     box-shadow: 0 4px 8px rgba(220, 38, 38, 0.3);
   }