/* ========================================================================
   Global Reset & Base Styles
======================================================================== */
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}
body {
  font-family:  Helvetica, sans-serif;
  display: flex;
  flex-direction: column;
  overflow: auto;
  background-color: #3c0280 !important;

}




/* ========================================================================
   Sidebar
======================================================================== */
.sidebar {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  left: 0;
  width: 150px;
  height: 100vh;
  background-color: #494848;
  padding: 20px;
  padding-right: 2px;
  padding-top: 200px;
  padding-left: 0px;
  font-size: 16px;
  border-right: 5px solid #1d1818;
  z-index: 1001;
  overflow-y: auto;
  justify-content: space-between;
}
.sidebar-box {
  flex-grow: 1;
  top: 100px;
}
.sidebar-links, .sidebar-bottom {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.sidebar-links a,
.sidebar-links button {
  font-size: 20px;
  color: #fff;
  padding: 12px;
  margin-bottom: 15px;
  display: block;
  text-decoration: none;
  border: none;
  cursor: pointer;
  border-radius: 20px;
  background-color: #494848;
  transition: background-color 0.5s ease;
}

.sidebar-links a:hover,
.sidebar-links button:hover {
  background-color: #fff !important;
  color: #000;
  border-radius: 20px;
}
/* Sidebar Bottom Alignment */
.sidebar-bottom {
  margin-top: auto; /* Pushes to bottom */
  padding-bottom: 20px;
}

/* Consistent link styling */
.sidebar-bottom .sidebar-button {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 15px;
  margin: 8px 0;
}

/* Remove Bootstrap button styles */
.sidebar-bottom .btn {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Icon alignment */
.sidebar-bottom .fas {
  width: 20px;
  text-align: center;
}
/* ========================================================================
   Page Debates Create (Form Pages)
======================================================================== */
.page-debates-create {
  background-color: #f9f9f9;
  padding: 20px;
  max-width: 900px;
  margin: 50px auto;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
.page-debates-create .page-title {
  color: #333;
  font-size: 2rem;
  margin-bottom: 20px;
  text-align: center;
}
.page-debates-create .form-item {
  margin-bottom: 20px;
}
.page-debates-create .form-item label {
  font-weight: bold;
  font-size: 1.1rem;
  margin-bottom: 5px;
  display: block;
}
.page-debates-create .form-item input,
.page-debates-create .form-item textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-size: 1rem;
  margin-top: 5px;
}
.page-debates-create .form-item button {
  padding: 10px 20px;
  background-color: #ac5151;
  color: #fff;
  border: none;
  border-radius: 5px;
  font-size: 1rem;
  cursor: pointer;
  transition: background-color 0.3s;
}
.page-debates-create .form-item button:hover {
  background-color: #d75b5b;
}
.page-debates-create .form-item .description {
  font-size: 0.9rem;
  color: #666;
}

/* ========================================================================
   Main Content
======================================================================== */
.main-content {
  flex: 1;
  padding: 20px;
  background-color: #3c0280;
  margin-left: 150px;
  margin-top: 50px; /* Add space for fixed header */
  z-index: 5;
  overflow-y: hidden;
  width: calc(100% - 150px);

}

/* ========================================================================
   Trending Debates Slider
======================================================================== */
/* Consolidated Trending Debates Slider & Carousel Styles */
.trending-debates-slider {
  position: relative;
  width: 100%;
  background-color: #3c0280;
  box-shadow: 0 -4px 4px rgba(0,0,0,0.1);
  color: #ffffff;
  text-align: center;
  padding: 30px 0;       /* Increased vertical padding for larger height */
  min-height: 300px;      /* Ensure a larger carousel section */
  overflow: visible;
}
.trending-debates-slider p {
  background-color: #ffffff;
}


.point-display {
  position: absolute;
  position: center; /* Center horizontally */
  gap: 20px; /* Space between items */
  margin-top: auto;
  bottom: 10px;
  left: 50%;
}



.point-display i {
  font-size: 1.3rem;
}

@media (max-width: 768px) {
  .trending-item {
    flex-direction: column;
    min-height: auto;
  }
  
  .rank {
    align-self: flex-start;
    margin-bottom: 10px;
  }
  
  .point-display {
    flex-wrap: wrap;
    gap: 10px;
  }
}
/* Carousel inner container */
.trending-debates-slider .carousel-inner {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  left: 0;
}
/* Carousel items */
.trending-debates-slider .carousel-item {
  flex: 0 0 auto;
  margin: 0 10px;
  text-align: center;
  min-height: 300px; 
}
.trending-debates-slider .carousel-item a {
  text-decoration: none;
  color: #000;
  font-size: 18px;
  font-weight: bold;
  min-height: 300px; 
}
.trending-debates-slider ul {
  list-style: none;
  padding: 0;
}

/* Carousel Indicators */
.carousel-indicators {
  position: absolute;
  bottom: 0px;
  left: 35% !important;
  transform: translateX(-50%) !important;
  display: flex;
  justify-content: center;
  width: max-content; /* Ensures it only takes the needed width */
  padding: 10px 0;
  margin: 0 auto;
  z-index: 15;
}




.carousel-indicators li {
  width: 12px;
  height: 12px;
  margin: 0 8px;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  transition: background-color 0.3s ease;
}
.carousel-indicators .active {
  background-color: #fff;
}

/* Carousel Arrows */
.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 50% !important;
  transform: translateY(-50%);
  width: 40px; /* Reduced from 60px */
  height: 40px; /* Reduced from 60px */
  background: rgba(0, 0, 0, 0.3); /* More subtle background */
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  cursor: pointer;
}
.carousel-control-prev {
  left: 20px;
}
.carousel-control-next {
  right: 20px;
}
/* Remove duplicate pseudo-elements */
.carousel-control-prev::after,
.carousel-control-next::after {
  display: none;
}


/* Mobile responsiveness for carousel arrows and indicators */
@media (max-width: 768px) {
  .carousel-control-prev,
  .carousel-control-next {
    width: 35px;
    height: 35px;
  }
}

/* ========================================================================
   Debate Title, Description & Meta
======================================================================== */
.debate-title {
  background-color: #9a08adce;
  padding: 15px;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 20px;
  margin-top: 10px;
}
.debate-description {
  background-color: #9a08adce;
  padding: 15px;
  border-radius: 8px;
  font-size: 1.1rem;
  line-height: 1.5;
  margin-bottom: 20px;
}
.debate-meta {
  display: flex;
  gap: 1rem;
  font-size: 0.9rem;
  color: #666;
  margin: 0.5rem 0;
}
.debate-meta span {
  display: flex;
  align-items: center;
  gap: 0.3rem;
}

/* ========================================================================
   Login Page
======================================================================== */
.login-page {
  min-height: 100vh;
  background: #f8f9fa;
  display: flex;
  align-items: center;
}
.login-page .card {
  border-radius: 15px;
}
.login-page .form-control {
  height: 45px;
  border-radius: 8px;
}
.login-page .form-actions {
  margin-top: 1.5rem;
}
.login-page .btn-primary {
  width: 100%;
  padding: 12px;
  font-size: 1.1rem;
}

/* ========================================================================
   Poll Bar
======================================================================== */
.poll-bar-wrapper {
  display: flex;
  justify-content: space-between;
  background: #e0e0e0;
  border-radius: 4px;
}
.poll-bar {
  display: flex;
  height: 20px;
  width: 100%;
  margin-top: 10px;
}
.poll-option.agree {
  background-color: blue;
  text-align: left;
  padding-left: 5px;
  color: white;
  display: flex;
  align-items: center;
}
.poll-option.disagree {
  background-color: white;
  text-align: right;
  height: 30px;
  border-radius: 20px;
  padding-right: 5px;
  color: black;
  display: flex;
  align-items: center;
}
.poll-labels {
  display: flex;
  justify-content: space-between;
  margin-bottom: 5px;
  font-weight: bold;
}
.label-left {
  color: #FFD700;
} 
.label-right {
  color: #4a05c9c2;
}
.vote-text {
  font-size: 0.3em;
  line-height: 1;
  padding: 0 5px;
}

/* ========================================================================
   Debate Boxes & Carousel Item Box
======================================================================== */
.debate-square-link {
  text-decoration: none;
  color: inherit;
}
.debate-square-link .debate-square {
  background-color: #9a08adce;
  padding: 20px;
  margin-bottom: 20px;
  border-radius: 10px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  width: 100%;
}
.debate-square-link:hover .debate-square {
  transform: scale(1.01);
  box-shadow: 0 6px 8px rgba(0,0,0,0.2);
}
.debate-container .debate-box {
  display: block;
  width: 100%;
  margin-bottom: 10px;
}
.debate-item-box {
  background-color: #9a08adce;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  transition: transform 0.5s ease-in-out;
  width: 100%;
  min-height: 300px;
  z-index: 1 !important; 
}
.debate-item-box:hover {
  color: white;
}
.debate-boxes {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}

/* ========================================================================
   Main Consensus Slider (for debate boxes)
======================================================================== */
.consensus-slider {
  width: 100%;
  margin: 10px 0;
}
.consensus-range {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 10px;
  background: #ddd;
  border-radius: 5px;
  outline: none;
  pointer-events: auto;
}
.consensus-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  background: #4CAF50;
  border: 2px solid #666;
  border-radius: 50%;
  margin-top: -5px;
}
.consensus-range::-moz-range-thumb {
  width: 20px;
  height: 20px;
  background: #4CAF50;
  border: 2px solid #666;
  border-radius: 50%;
}
.slider-labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.9em;
  margin-top: 5px;
}
.slider-labels .pro-label {
  color: #FFD700 !important;
}
.slider-labels .con-label {
  color: #dbd6bb !important;
}

/* ========================================================================
   Account Meta & Already Logged In
======================================================================== */
.account-meta {
  margin-bottom: 2rem;
  padding: 1.5rem;
  background: #f8f9fa;
  border-radius: 0.5rem;
  display: flex;
  gap: 2rem;
  font-size: 0.9rem;
}
.member-duration strong {
  color: #2c3e50;
}
.anonymous-status span {
  font-weight: bold;
  color: #27ae60;
}
.already-logged-in {
  max-width: 600px;
  margin: 2rem auto;
  padding: 2rem;
  text-align: center;
  background: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.already-logged-in h2 {
  color: #2c3e50;
  margin-bottom: 2rem;
}
.actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
}
.button {
  padding: 0.75rem 1.5rem;
  border-radius: 0.375rem;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.2s;
}
.button--switch {
  background: #3498db;
  color: white;
}
.button--switch:hover {
  background: #2980b9;
}
.button--new {
  background: #2ecc71;
  color: white;
}
.button--new:hover {
  background: #27ae60;
}

/* ========================================================================
   Comments Section
======================================================================== */
.comments-section {
  background: #fff;
  padding: 15px;
  border: 1px solid #ccc;
  border-radius: 5px;
  margin-top: 20px;
}
.comments-section h3 {
  margin-bottom: 10px;
}
.comments-section .comment {
  margin-bottom: 15px;
  padding: 10px;
  border-bottom: 1px solid #ddd;
}
.comments-section .comment:last-child {
  border-bottom: none;
}
.comments-section form {
  margin-top: 20px;
}
.comments-section form .form-group {
  margin-bottom: 15px;
}
.comments-section form textarea {
  width: 100%;
  height: 100px;
}
.comments-section form button {
  background: #007bff;
  color: #fff;
  border: none;
  padding: 10px 15px;
  cursor: pointer;
}
.comments-section form button:hover {
  background: #0056b3;
}
/* Add indentation for nested replies */
.replies {
  margin-left: 2rem;
  border-left: 1px solid #ddd;
  padding-left: 1rem;
}
/* ========================================================================
   User Account Page - Unified Section Styles
======================================================================== */
.user-account-page {
  max-width: 900px;
  margin: 60px auto;
  padding: 20px;
  background-color: #f9f9f9;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* Section Header Styles */
.user-account-page h1 {
  font-size: 2rem;
  text-align: center;
  margin-bottom: 30px;
  color: #2c3e50;
}

.account-section {
  background: white;
  padding: 20px;
  margin-bottom: 30px;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.account-section h2 {
  font-size: 1.5rem;
  color: #4a05c9c2;
  border-bottom: 2px solid #e0e0e0;
  padding-bottom: 10px;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.account-section h2 i {
  font-size: 1.2em;
}

/* List Styles */
.account-section ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.account-section li {
  padding: 15px;
  margin-bottom: 10px;
  background-color: #f8f9fa;
  border-radius: 6px;
  transition: transform 0.2s ease;
}

.account-section li:hover {
  transform: translateX(5px);
  background-color: #f1f3f5;
}

/* Link Styles */
.account-section a {
  color: #4a05c9c2;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s ease;
}

.account-section a:hover {
  color: #0f1a9e;
  text-decoration: underline;
}

/* Anonymous Modifiers */
.account-section .anonymous-indicator {
  font-size: 0.9em;
  color: #6c757d;
  margin-left: 8px;
}

/* Empty State Styles */
.account-section p {
  color: #6c757d;
  font-style: italic;
  padding: 15px;
  background-color: #f8f9fa;
  border-radius: 6px;
}

/* Comment Specific Styles */
.commented-debates-list .reply-indicator {
  font-size: 0.8em;
  background: #e9ecef;
  color: #495057;
  padding: 3px 8px;
  border-radius: 4px;
  display: inline-block;
  margin-left: 10px;
}

/* Authored Debates Specific */
.authored-debates li {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Anonymous Banner */
#anonymous-banner {
  background-color: #fff3cd;
  color: #856404;
  padding: 12px 20px;
  border-radius: 6px;
  margin-bottom: 30px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-left: 4px solid #ffeeba;
}
/* ========================================================================
   Anonymous Mode Banner
======================================================================== */
#anonymous-banner {
  background-color: #ffd700;
  color: #333;
  padding: 10px;
  text-align: center;
  font-weight: bold;
  border-radius: 5px;
  margin-bottom: 20px;
}

/* ========================================================================
   Account Settings Page Styles
======================================================================== */
/* "Member-for" text */
.member-for {
  font-size: 1.2rem !important;
  color: #333333 !important;
  font-weight: bold !important;
  margin-bottom: 1rem !important;
}
/* Account Settings Page */
.account-settings-page {
  background: #ffffff;
  padding: 2rem;
  border-radius: 20px;
  margin: 2rem auto;
  max-width: 800px;
  color: #fff;
}

.form-section {
  background: #9a08adce !important;
  border-radius: 15px !important;
  padding: 1.5rem !important;
  margin-bottom: 2rem;
  margin-top: 70px;
}

.section-title {
  color: #ffffff !important;
  font-size: 1.5rem !important;
  border-bottom: 2px solid #4a05c9c2;
  padding-bottom: 0.5rem;
  margin-bottom: 1.5rem !important;
}

/* Username Change Form */
#edit-new-username {
  background: rgba(255,255,255,0.9);
  border: 2px solid #4a05c9c2;
  border-radius: 10px;
  padding: 0.8rem;
  color: #2c3e50;
}

#edit-actions {
  margin-top: 1.5rem;
}

/* Delete Account Section */
#edit-user-cancel-method {
  background: rgba(255,255,255,0.1);
  border-radius: 10px;
  padding: 1rem;
}

#edit-user-cancel-method .form-item {
  margin: 0;
}

#edit-user-cancel-method .description {
  color: #dbd6bb !important;
  font-size: 0.9rem;
}

#edit-submit {
  background: #dc3545 !important;
  border: none !important;
  border-radius: 25px !important;
  padding: 0.8rem 2rem !important;
  font-weight: bold !important;
  transition: all 0.3s ease !important;
}

#edit-submit:hover {
  background: #c82333 !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 6px rgba(0,0,0,0.2);
}

/* Member For Section */
.account-info {
  background: #ffffffc2 !important;
  border-radius: 15px !important;
  padding: 1.5rem !important;
  text-align: center;
  font-size: 1.1rem;
}
/* Delete Account Section */
#edit-user-cancel-method {
  background: rgba(255,255,255,0.1);
  border-radius: 10px;
  padding: 1rem;
  color: #fff !important;
}

#edit-user-cancel-method .form-item {
  margin: 0;
}

#edit-user-cancel-method .description {
  color: #dbd6bb !important;
  font-size: 0.9rem;
  margin-top: 0.5rem;
}

#edit-submit {
  background: #dc3545 !important;
  border: none !important;
  border-radius: 25px !important;
  padding: 0.8rem 2rem !important;
  font-weight: bold !important;
  transition: all 0.3s ease !important;
  margin-top: 1.5rem !important;
  display: block !important;
  width: max-content !important;
}

#edit-submit:hover {
  background: #c82333 !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 6px rgba(0,0,0,0.2);
}
/* Delete Account Section Styling */
.delete-section {
  background: #9a08adce !important;
  border-radius: 15px !important;
  padding: 1.5rem !important;
  margin-bottom: 2rem;
  border-left: 4px solid #dc3545 !important;
}

.delete-section .section-title {
  color: #ffffff !important;
  border-bottom-color: #dc3545 !important;
}

.delete-section .alert-warning {
  background: rgba(255,193,7,0.15) !important;
  border: none !important;
  color: #ffd700 !important;
  border-radius: 8px;
  padding: 1rem;
  margin-bottom: 1.5rem;
}

.delete-section .btn-danger {
  background: #dc3545 !important;
  border: none !important;
  border-radius: 25px !important;
  padding: 0.75rem 2rem !important;
  font-weight: bold;
  transition: all 0.3s ease;
  margin-top: 1rem;
}

.delete-section .btn-danger:hover {
  background: #c82333 !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 6px rgba(0,0,0,0.2);
}

/* Match form item spacing from username section */
.delete-section .form-item {
  margin-bottom: 1.2rem;
}
/* Status indicator wrapper */
#status-indicator-wrapper {
  background-color: #fff !important;
  border: 2px solid #ccc !important;
  padding: 0.5rem 1rem !important;
  font-size: 1.1rem !important;
  border-radius: 4px !important;
  font-weight: bold !important;
  text-align: center !important;
  margin-top: 1rem !important;
}
/* Remove the white background from carousel paragraphs and force white text */
.trending-debates-slider p {
  background-color: transparent;
  color: #fff;
}

/* Ensure that the title (h3) and description (p) inside debate boxes are white */
.debate-item-box h3,
.debate-item-box p {
  color: #fff;
}
/* ===== Debate Boxes Link & Text Overrides ===== */

/* Remove default link styles for debate boxes */
.debate-square-link,
.debate-square-link:visited,
.debate-square-link:hover,
.debate-square-link:active {
  text-decoration: none;
  color: inherit;
}

/* Ensure debate boxes have white text */
.debate-square {
  background-color: #9a08adce; /* existing background */
  color: #fff;               /* force text to be white */
  padding: 20px;
  margin-bottom: 20px;
  border-radius: 10px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: background-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
  width: 100%;
}

/* Target headings and paragraphs inside debate boxes */
.debate-square h3,
.debate-square p {
  color: #fff;
}

/* Hover effect: slightly change background color, scale up, and remove underline */
.debate-square-link:hover .debate-square {
  background-color: #7a18ea; /* a slightly different shade */
  transform: scale(1.01);
  box-shadow: 0 6px 8px rgba(0, 0, 0, 0.2);
  border-radius: 50px !important; /* Increased from 10px */
}



/* ========================================================================
   Trending Page Styles
======================================================================== */
.trending-page {
  padding: 2rem;
  background-color: #3c0280 ;
  border-color: #ffffff;
  margin-top: 30px;
}

.trending-page h1 {
  color: #fff;
  font-size: 2.5rem;
  margin-bottom: 2rem;
  text-align: center;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

/* Filters */
.time-filter, .category-filter {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 2rem;
  justify-content: center;
}

.time-filter a, .category-filter a {
  padding: 0.8rem 1.5rem;
  border-radius: 25px;
  background: rgba(255,255,255,0.1);
  color: #fff;
  text-decoration: none;
  transition: all 0.3s ease;
  border: 2px solid rgba(255,255,255,0.2);
}

.time-filter a:hover, .category-filter a:hover {
  background: rgba(255,255,255,0.2);
  transform: translateY(-2px);
}

.time-filter a.active, .category-filter a.active {
  background: #9a08adce;
  border-color: #9a08adce;
  box-shadow: 0 4px 6px rgba(0,0,0,0.2);
}

/* Debate Items */
.trending-results {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

.trending-item {
  background: #9a08adce;
  border-radius: 15px;
  padding: 1.5rem;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  color: #fff;
}

.trending-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

.rank {
  position: absolute;
  top: -15px;
  left: -15px;
  background: #ffd700;
  color: #4a05c9c2;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 1.2rem;
  box-shadow: 0 4px 6px rgba(0,0,0,0.2);
}

.debate-info h3 {
  margin: 0 0 1rem;
  font-size: 1.4rem;
}

.debate-info h3 a {
  color: #fff;
  text-decoration: none;
}

.debate-info h3 a:hover {
  text-decoration: underline;
}

/* Stats */
.stats {
  display: flex;
  gap: 1.5rem;
  margin-top: 1rem;
  align-items: center;
}

.stats span {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.1rem;
}
.stats i {
  font-size: 1.3rem;
}



/* Responsive Design */
@media (max-width: 768px) {
  .trending-results {
    grid-template-columns: 1fr;
  }
  
  .time-filter, .category-filter {
    gap: 0.5rem;
  }
  
  .time-filter a, .category-filter a {
    padding: 0.6rem 1rem;
    font-size: 0.9rem;
  }
  
  .rank {
    width: 30px;
    height: 30px;
    font-size: 1rem;
    top: -10px;
    left: -10px;
  }
}
/* -------------------------------
   Search Page General Styles
-------------------------------- */
.search-results-page {
  padding: 2rem;
  max-width: 1200px;
  margin: 0 auto;
  margin-top: 70px;
}

.search-tabs {
  margin-bottom: 2rem;
  text-align: center;
}
.search-results-header {
  background-color: #f8f9fa;
  border: 1px solid #ddd;
  padding: 10px 15px;
  border-radius: 5px;
  margin-bottom: 20px;
  font-size: 1.5em;
  text-align: center;
}

/* -------------------------------
   Debate Results (Search)
-------------------------------- */
.debate-boxes {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.debate-square-link {
  text-decoration: none;
  color: inherit;
}

.debate-square {
  background-color: #9a08adce;
  color: #fff;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
}

.debate-square:hover {
  transform: scale(1.01);
  box-shadow: 0 6px 8px rgba(0,0,0,0.2);;
  background-color: #6c08df;
}

.debate-square h3 {
  margin: 0 0 10px;
  font-size: 1.5rem;
}

.debate-square .text-muted {
  font-size: 0.9rem;
  margin-bottom: 10px;
}

.debate-square .excerpt {
  font-size: 1rem;
  margin-bottom: 15px;
}

/* Consensus Slider inside Debate Box */
.consensus-slider {
  margin-top: 10px;
}

.consensus-range {
  -webkit-appearance: none;
  width: 100%;
  height: 8px;
  background: #ecf0f1;
  border-radius: 4px;
  outline: none;
}

.consensus-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  background: #FFD700;
  border-radius: 50%;
  cursor: pointer;
}

.consensus-range::-moz-range-thumb {
  width: 20px;
  height: 20px;
  background: #FFD700;
  border-radius: 50%;
  cursor: pointer;
}

.slider-labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.9rem;
  margin-top: 5px;
  color: #fff;
}

.slider-labels .pro-label {
  color: #FFD700;
}

.slider-labels .con-label {
  color: #dbd6bb;
}

/* -------------------------------
   User Results (Search)
-------------------------------- */
.user-results {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 20px;
  margin-top: 20px;
}

.user-box-link {
  text-decoration: none;
}

.user-box {
  background: #fff;
  border: 1px solid #ddd;
  padding: 15px;
  border-radius: 10px;
  text-align: center;
  transition:
   transform 0.3s ease, box-shadow 0.3s ease;
}

.user-box:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.user-box h3 {
  margin-bottom: 10px;
  font-size: 1.2rem;
  color: #333;
}
/* -------------------------------
   Ranking
-------------------------------- */
/* Ranking system styling */
.ranking-header {
  margin: 1rem 0;
  padding: 0.5rem;
  background: #f8f9fa;
  border-radius: 4px;
}

.ranking-metrics {
  display: flex;
  gap: 1.5rem;
  justify-content: flex-end;
}

.metric {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-weight: 500;
}

.debate-card {
  position: relative;
  transition: transform 0.2s;
}

.debate-card:hover {
  transform: translateY(-3px);
}

.ranking-badge {
  position: absolute;
  top: -10px;
  left: -10px;
  background: #007bff;
  color: white;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 1.1em;
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.debate-metrics {
  display: flex;
  justify-content: space-around;
  margin: 1rem 0;
  padding: 0.5rem;
  background: #f8f9fa;
  border-radius: 4px;
}

/* -------------------------------
   Create
-------------------------------- */
.create-debate-button-container {
  position: fixed !important;
  bottom: 20px !important;
  right: 20px !important;
  z-index: 2147483647 !important; /* Maximum possible z-index */
  transform: translateZ(0); /* Force hardware acceleration */
}

.create-debate-button-container .btn {
  padding: 15px 30px;
  font-size: 1.1rem;
  border-radius: 25px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

/* -------------------------------
   following
-------------------------------- */
/* Follow button styling */
.btn-follow {
  background-color: #28a745;
  color: white;
  padding: 5px 15px;
  border-radius: 4px;
}

.btn-unfollow {
  background-color: #dc3545;
  color: white;
  padding: 5px 15px;
  border-radius: 4px;
}

.profile-actions {
  margin: 15px 0;
}
/* ========================================================================
   Your People Section
======================================================================== */
.your-people-section {
  max-width: 1200px;
  margin: 2rem auto;
  padding: 2rem;
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
  margin-top: 90px;
}

.your-people-section h2 {
  color: #4a05c9c2;
  font-size: 2rem;
  margin-bottom: 2rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.your-people-section h2 i {
  font-size: 1.5em;
  color: #9a08adce;
}

/* People List Grid */
.people-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
  margin-top: 1.5rem;
}

/* Person Card */
.person-card {
  background: #ffffff;
  border-radius: 10px;
  padding: 1.5rem;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border: 1px solid #e0e0e0;
  position: relative;
}

.person-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.08);
}

.profile-link h3 {
  color: #2c3e50;
  font-size: 1.3rem;
  margin-bottom: 0.5rem;
  transition: color 0.3s ease;
}

.profile-link:hover h3 {
  color: #4a05c9c2;
  text-decoration: none;
}

.person-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 1rem;
}

.member-since {
  color: #6c757d;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.member-since i {
  color: #9a08adce;
}

/* Unfollow Button */
.btn-unfollow {
  border-color: #dc3545;
  color: #dc3545;
  padding: 0.4rem 1rem;
  border-radius: 20px;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.btn-unfollow:hover {
  background-color: #dc3545;
  color: white;
}

.btn-unfollow i {
  font-size: 0.9em;
}

/* Empty State */
.empty-state {
  text-align: center;
  padding: 3rem;
  background-color: #f8f9fa;
  border-radius: 10px;
  border: 2px dashed #e0e0e0;
  color: #6c757d;
}

.empty-state i {
  font-size: 2.5rem;
  color: #9a08adce;
  margin-bottom: 1rem;
  display: block;
}
.person-card {
  transition: all 0.3s ease;
  opacity: 1;
}

.person-card.removing {
  opacity: 0;
  transform: translateX(-100%);
}
.upvote-btn.voted {
  color: #4CAF50;
  border-color: #4CAF50;
}

.upvote-btn.voted i {
  color: #4CAF50;
}
/* Responsive Design */
@media (max-width: 768px) {
  .your-people-section {
    padding: 1rem;
    margin: 1rem;
  }
  
  .people-list {
    grid-template-columns: 1fr;
  }
  
  .person-card {
    padding: 1rem;
  }
  
  .person-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
  
  .btn-unfollow {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 480px) {
  .your-people-section h2 {
    font-size: 1.5rem;
    flex-direction: column;
    text-align: center;
    gap: 0.5rem;
  }
  
  .profile-link h3 {
    font-size: 1.1rem;
  }
}
/* ========================================================================
   Comments
======================================================================== */
/* Add these CSS rules */
.comments-scrollable {
  max-height: 120vh; /* Adjust based on your needs */
  overflow-y: auto;
  margin-bottom: 1rem;
  background: #f8f9fa;
  padding: 15px;
  border-radius: 8px;
}

.server-rendered-comments {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.server-rendered-comments > .comment {
  background: white;
  padding: 1rem;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
  margin-bottom: 0; /* Remove existing margin */
}

/* Nested replies styling */
.replies {
  margin-left: 1rem;
  padding-left: 1rem;
  border-left: 2px solid #eee;
  width: calc(100% - 2rem);
}

/* Responsive design */
@media (max-width: 768px) {
  .server-rendered-comments {
    grid-template-columns: 1fr;
  }
  
  .comments-scrollable {
    max-height: 70vh;
  }
}

/* Optional: Custom scrollbar */
.comments-scrollable::-webkit-scrollbar {
  width: 8px;
}

.comments-scrollable::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.comments-scrollable::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 4px;
}

.comments-scrollable::-webkit-scrollbar-thumb:hover {
  background: #555;
}

/* ========================================================================
   Comments Layout - Single Column
======================================================================== */

/* Remove the grid layout */
.server-rendered-comments {
  display: block !important; /* Change from grid to block */
  grid-template-columns: none !important; /* Remove grid columns */
}

/* Make each comment take full width */
.server-rendered-comments > .comment {
  width: 100% !important; /* Full width */
  margin-bottom: 1.5rem; /* Space between comments */
}

/* Adjust nested replies */
.replies {
  margin-left: 0 !important; /* Remove left margin */
  padding-left: 0 !important; /* Remove left padding */
  border-left: none !important; /* Remove left border */
  width: 100% !important; /* Full width */
}

/* Remove special styling for nested replies */
.replies .comment {
  padding-left: 2rem; /* Indent nested comments */
  position: relative;
}

/* Optional: Add visual indicator for nested comments */
.replies .comment:before {
  content: "↳";
  position: absolute;
  left: 0.5rem;
  top: 0;
  color: #9a08adce;
}

/* Adjust comment styling for single column */
.comment {
  padding: 1.5rem !important; /* More padding */
  background: #f8f9fa !important; /* Light background */
  border-radius: 12px !important; /* Rounded corners */
  margin-bottom: 1rem !important; /* Space between comments */
  box-shadow: 0 2px 6px rgba(0,0,0,0.05) !important; /* Subtle shadow */
}

/* Mobile optimization */
@media (max-width: 768px) {
  .comment {
    padding: 1rem !important;
  }
  
  .replies .comment {
    padding-left: 1.5rem; /* Less indent on mobile */
  }
}
/* ========================================================================
   Enhanced Voting Sliders (Revised)
======================================================================== */
.main-vote-container,
.user-vote-container {
  width: 100%;
  margin: 2rem 0;
  padding: 1rem;
  background: #9a08adce;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* Main Consensus Slider */
.main-vote-slider {
  -webkit-appearance: none;
  width: 100%;
  height: 8px;
  margin: 0.5rem 0;
  background: linear-gradient(
    to right,
    #FFD700 0%,  /* Yellow */
    #FFD700 var(--slider-progress),
    #e0e0e0 var(--slider-progress),
    #e0e0e0 100%
  ) !important;
}

.main-vote-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  background: #9a08adce;
  border-color: #FFD700 !important; /* Yellow */
  border-radius: 50%;
  margin-top: -6px;
  cursor: pointer;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

/* User Vote Slider */
.user-vote-slider {
  -webkit-appearance: none;
  width: 100%;
  height: 8px;
  margin: 1rem 0;
  background: linear-gradient(
    to right,
    #4a05c9c2 0%,  /* Blue */
    #4a05c9c2 var(--user-progress),
    #e0e0e0 var(--user-progress),
    #e0e0e0 100%
  ) !important;
  border-radius: 4px;
}

.user-vote-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 24px;
  height: 24px;
  background: #fff;
  border-color: #4a05c9c2 !important; /* Blue */
  border-radius: 50%;
  margin-top: -8px;
  cursor: pointer;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

/* Slider Labels */
.slider-labels {
  display: flex;
  justify-content: space-between;
  margin: 0.5rem 0;
  font-size: 1rem;
  font-weight: bold;
  color: #444;
}

/* Community Consensus Display (Simplified) */
.current-vote-display {
  text-align: center;
  margin: 1rem 0;
  padding: 0.5rem;
  background: #f8f9fa;
  border-radius: 8px;
  border: 2px solid #eee;
}

.current-vote-display p {
  margin: 0;
  font-size: 1.2rem;
  color: #333;
}

.consensus-value {
  font-size: 1.8rem;
  color: #000;
  font-weight: bold;
  margin-left: 0.5rem;
}

/* Responsive Design */
@media (max-width: 768px) {
  .main-vote-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    margin: 0.5rem 0;
    background: linear-gradient(
      to right,
      #FFD700 0%,  /* Yellow */
      #FFD700 var(--slider-progress),
      #e0e0e0 var(--slider-progress),
      #e0e0e0 100%
    ) !important;
  }
  .main-vote-container,
  .user-vote-container {
    padding: 1rem;
    margin: 1rem 0;
  }

  .main-vote-slider::-webkit-slider-thumb,
  .user-vote-slider::-webkit-slider-thumb {
    width: 18px;
    height: 18px;
    margin-top: -5px;
  }

  .consensus-value {
    font-size: 1.5rem;
  }
}
/* ========================================================================
   Revised Voting Sliders & Labels
======================================================================== */
/* Main Consensus Slider */
.main-vote-slider {
  -webkit-appearance: none;
  width: 100%;
  height: 12px;
  margin: 1rem 0;
  background: linear-gradient(
    to right,
    var(--main-color-left) 0%,
    var(--main-color-left) var(--slider-progress, 50%),
    var(--main-color-right) var(--slider-progress, 50%),
    var(--main-color-right) 100%
  );
  border-radius: 6px;
  border: 1px solid #fff;
}

.main-vote-slider::-webkit-slider-thumb {
  width: 24px;
  height: 24px;
  border: 3px solid #444;
  color: #FFD700 !important;
  margin-top: -8px; /* Better vertical centering */
}

/* User Vote Slider */
.user-vote-slider {
  -webkit-appearance: none;
  width: 100%;
  height: 12px;
  margin: 1rem 0;
  background: linear-gradient(
    to right,
    var(--user-color-left) 0%,
    var(--user-color-left) var(--user-progress, 50%),
    var(--user-color-right) var(--user-progress, 50%),
    var(--user-color-right) 100%
  );
  border-radius: 4px;
}

.user-vote-slider::-webkit-slider-thumb {
  width: 24px;
  height: 24px;
  border: 3px solid #0062cc;
  margin-top: -8px; /* Better vertical centering */
}

/* Neutral Label Colors */
.slider-labels .label-left {
  color: #63cc00; 
}

.slider-labels .label-right {
  color: #6f42c1; /* Purple for "Against" */
}

/* Consensus Display Adjustment */
.current-vote-display {
  background: #9a08adce;
  border: 1px solid #ffffff;
  color: white;
}

.consensus-value {
  color: #ffffff; /* Dark neutral color */
}
/* ========================================================================
   Debate Page Specific Styles
======================================================================== */
/* Title and Description Container */
.debate-title {
  color: #ffffff;
  margin: 2rem 0 1.5rem ;
  padding-bottom: 1rem;
  border-bottom: 3px solid #f0f0f0;
  width: 100%;
  margin-top: 10px!important;
}

.debate-description {
  font-size: 1.1rem !important;
  line-height: 1.6;
  color: #ffffff;
  margin-bottom: 0.5rem !important;
  padding: 1rem;
  background: #9a08adce;
  border-radius: 8px;
  border-left: 4px solid #ffffffad;
}

/* Consolidated Slider Containers */
.main-vote-container,
.user-vote-container {
  background: #9a08adce;
  padding: 1rem;
  border-radius: 12px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  margin: 1rem 0;
}

/* Unified Slider Styling */
.main-vote-slider,
.user-vote-slider {
  -webkit-appearance: none !important;
  width: 100% !important;
  height: 8px !important;
  margin: 1.5rem 0 !important;
  border-radius: 4px !important;
}

/* Main Consensus Slider Track */
.main-vote-slider {
  background: linear-gradient(
    to right,
    #FFD700 0%,
    #FFD700 var(--slider-progress, 50%),
    #dbd6bb var(--slider-progress, 50%),
    #dbd6bb 100%
  ) !important;
}

/* User Vote Slider Track */
.user-vote-slider {
  background: linear-gradient(
    to right,
    #007bff 0%,
    #007bff var(--user-progress, 50%),
    #e0e0e0 var(--user-progress, 50%),
    #e0e0e0 100%
  ) !important;
}

/* Unified Thumb Style */
.main-vote-slider::-webkit-slider-thumb,
.user-vote-slider::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  width: 24px !important;
  height: 24px !important;
  background: #9a08adce !important;
  border: 3px solid;
  border-radius: 50% !important;
  margin-top: -8px !important;
  cursor: pointer !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2) !important;
}

.main-vote-slider::-webkit-slider-thumb {
  border-color: #000 !important;
}

.user-vote-slider::-webkit-slider-thumb {
  border-color: #007bff !important;
}

/* Slider Labels */
.slider-labels {
  display: flex !important;
  justify-content: space-between !important;
  margin: 0 0 0.5rem !important;
  font-weight: bold !important;
  font-size: 1.1rem !important;
}


/* Consensus Value Display */
.current-vote-display {
  text-align: center !important;
  margin-top: 0.7rem !important;
  font-size: 1rem !important;
}

.consensus-value {
  font-size: 1.5rem !important;
  font-weight: bold !important;
  color: #ffffff !important;
  display: inline-block !important;
  margin-left: 0.5rem !important;
}

/* Comment Section Spacing */
.comments-section {
  margin-top: 3rem !important;
  padding-top: 2rem !important;
  border-top: 2px solid #eee;
}
/* ========================================================================
   Sticky Header - Clean Reset
======================================================================== */
.sticky-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 70px;
  z-index: 2000;
  background: #ffffff;
  box-shadow: 0 2px 15px rgba(0,0,0,0.1);
  display: flex;
  align-items: center;
  padding: 0 20px;
  gap: 20px;
}

/* Left Section */
.header-left {
  display: flex;
  align-items: center;
  gap: 15px;
  flex-shrink: 0;
}

/* Hamburger Menu */
.hamburger {
  display: none; /* Hidden by default */
  background: none;
  border: none;
  padding: 8px;
  cursor: pointer;
}

.hamburger span {
  display: block;
  width: 25px;
  height: 3px;
  background: #333;
  margin: 5px 0;
  transition: all 0.3s ease;
}

/* Add to your CSS */
.consensus-range:disabled {
  opacity: 0.9;
  cursor: not-allowed;
}

.consensus-range:disabled::-webkit-slider-thumb {
  background: #666;
  border-color: #444;
  cursor: not-allowed;
}
/* Logo */
.logo img {
  height: 40px;
  width: auto;
}

/* Search Container */
.search-container {
  flex: 1;
  max-width: 700px;
  margin: 0 auto;
}

.search-form {
  position: relative;
  width: 100%;
}

.search-input {
  width: 100%;
  height: 45px;
  padding: 0 20px;
  border: 2px solid #e0e0e0;
  border-radius: 30px;
  font-size: 16px;
  transition: all 0.3s ease;
}

.search-input:focus {
  border-color: #6c08df;
  box-shadow: 0 0 8px rgba(108,8,223,0.2);
}

.search-button {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  color: #666;
}

/* Right Navigation */
.header-right {
  display: flex;
  gap: 25px;
  margin-left: auto;
  flex-shrink: 0;
}

.nav-link {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #333;
  text-decoration: none;
  transition: color 0.3s ease;
}

.nav-link:hover {
  color: #6c08df;
}

.nav-text {
  font-size: 15px;
  font-weight: 500;
}

/* Responsive Design */
@media (max-width: 1024px) {
  .sticky-header {
    padding: 0 15px;
    gap: 15px;
  }
  
  .search-container {
    max-width: 500px;
  }
  
  .nav-text {
    display: none;
  }
}

@media (max-width: 768px) {
  .hamburger {
    display: block;
  }
  
  .logo img {
    height: 35px;
  }
  
  .search-container {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 80px;
    width: 90%;
    max-width: none;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
  }
  
  .search-container.active {
    opacity: 1;
    visibility: visible;
    top: 85px;
  }
  
  .header-right {
    gap: 20px;
  }
}

/* Mobile Sidebar Styles */
@media (max-width: 768px) {
  .sidebar {
    left: -250px;
    transition: left 0.3s ease-in-out;
  }
  
  .sidebar.active {
    left: 0;
  }
  
  .overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.5);
    z-index: 1000;
  }
  
  .overlay.active {
    display: block;
  }
  
  .main-content {
    margin-left: 0;
    width: 100%;
  }
}
/* Mobile Menu Active State */
.hamburger.active span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

.hamburger.active span:nth-child(2) {
  opacity: 0;
}

.hamburger.active span:nth-child(3) {
  transform: rotate(-45deg) translate(7px, -6px);
}
/* Mobile Menu Fixes */
@media (max-width: 768px) {
  .sidebar {
    transform: translateX(-100%);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
  }
  
  .sidebar.active {
    transform: translateX(0);
  }
  
  .overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.5);
    z-index: 999; /* Below sidebar */
  }
  
  .sticky-header {
    z-index: 1001; /* Above overlay */
  }
  
  .sidebar {
    z-index: 1000; /* Above overlay but below header */
  }
}

/* Ensure clickability */
.hamburger {
  z-index: 1002;
  position: relative;
}
/* ========================================================================
   Sticky Header - Chrome????
======================================================================== */
/* Update sticky-header rules */
.sticky-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 15px;
}

.search-container {
  flex: 1;
  max-width: 600px;
  margin: 0 20px;
  position: relative;
  order: 2; /* Force center position */
}

/* Add Chrome-specific media query */
@media screen and (-webkit-min-device-pixel-ratio:0) {
  .search-container {
    transform: translateZ(0); /* Fix flex rendering */
  }
}
@media (max-width: 768px) {
  .sticky-header {
    position: relative;
    height: auto;
    flex-wrap: wrap;
  }

  .search-container {
    order: 3;
    width: 100%;
    margin: 10px 0;
    position: static;
    transform: none;
  }

  .header-right {
    order: 4;
    width: 100%;
    justify-content: center;
    margin-top: 10px;
  }

  .hamburger {
    order: 1;
  }

  .logo {
    order: 2;
    margin-left: auto;
  }
}
/* Add to your CSS */
@supports (-webkit-overflow-scrolling: touch) {
  .sticky-header {
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
}
/* ========================================================================
   Debate Boxes
======================================================================== */
.debate-square {
  border-radius: 50px !important; /* Increased from 10px */
}

.debate-item-box {
  border-radius: 50px !important; /* Increased from 10px */
}


/* 1. Explore Title Styling */
.sorting-controls h2 {
  font-size: 2.5rem;
  color: #fff;
  margin-bottom: 2rem;
  padding-bottom: 0.5rem;
  border-bottom: 3px solid #9a08adce;
  display: inline-block;
}

/* 2. Carousel Hover Effect Matching Debate Boxes */
.debate-item-box {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.debate-item-box:hover {
  box-shadow: 0 6px 8px rgba(0,0,0,0.2);
  background-color: #6c08df;
}

/* 3. Trending Debate Box Content Styling */
/* Add slider and meta styles specifically for carousel */
.trending-debates-slider .consensus-slider {
  margin: 15px 0;
}

.trending-debates-slider .slider-labels {
  color: #fff;
}

.trending-debates-slider .debate-meta {
  display: flex;
  justify-content: space-between;
  color: #fff;
  padding-top: 15px;
  border-top: 1px solid rgba(255,255,255,0.2);
}

.trending-debates-slider .debate-meta i {
  margin-right: 5px;
}

/* Ensure slider colors match carousel theme */
.trending-debates-slider .consensus-range {
  background: linear-gradient(to right, 
    #FFD700 0%, 
    #FFD700 var(--slider-progress, 50%), 
    #dbd6bb var(--slider-progress, 50%), 
    #dbd6bb 100%
  );
}
/* 1. Fix Carousel Item Clipping on Hover */
.trending-debates-slider .carousel-inner {
  overflow: visible !important;
}

.trending-debates-slider .carousel-item {
  overflow: visible !important;
  z-index: 1;
  transition: z-index 0.3s ease;
}

.trending-debates-slider .carousel-item:hover {
  z-index: 2;
}

/* 2. Fix Slider Colors */
/* Remove inline styles from HTML and use this CSS instead */
.consensus-range {
  background: linear-gradient(to right, 
    #FFD700 0%, 
    #FFD700 var(--slider-progress, 50%), 
    #dbd6bb var(--slider-progress, 50%), 
    #dbd6bb 100%
  );
  -webkit-appearance: none;
}

/* For Webkit browsers */
.consensus-range::-webkit-slider-runnable-track {
  background: linear-gradient(to right, 
    #FFD700 0%, 
    #FFD700 var(--slider-progress, 50%), 
    #dbd6bb var(--slider-progress, 50%), 
    #dbd6bb 100%
  ) !important;
  height: 10px;
  border-radius: 5px;
}

/* For Firefox */
.consensus-range::-moz-range-track {
  background: linear-gradient(to right, 
    #FFD700 0%, 
    #FFD700 var(--slider-progress, 50%), 
    #dbd6bb var(--slider-progress, 50%), 
    #dbd6bb 100%
  ) !important;
  height: 10px;
  border-radius: 5px;
}

/* ========================================================================
   Fixed Slider Styles for Trending Page
======================================================================== */
.trending-results .consensus-range {
  -webkit-appearance: none;
  width: 100%;
  height: 8px;
  background: linear-gradient(
    to right,
    #FFD700 0%,
    #FFD700 var(--slider-progress, 50%),
    #dbd6bb var(--slider-progress, 50%),
    #dbd6bb 100%
  );
  border-radius: 4px;
}

.trending-results .consensus-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  background: #fff;
  border: 2px solid #FFD700;
  border-radius: 50%;
  margin-top: -6px;
}

/* ========================================================================
   Carousel Z-Index Fix
======================================================================== */
.trending-debates-slider .carousel-item {
  transition: transform 0.3s ease;
  z-index: 1;
}

.trending-debates-slider .carousel-item:hover {
  transform: scale(1.01);
  z-index: 9999; /* Lower than controls z-index */
}

.trending-debates-slider .carousel-control-prev,
.trending-debates-slider .carousel-control-next {
  z-index: 10000; /* Higher than carousel items */
}

.trending-debates-slider .carousel-indicators {
  z-index: 25; /* Highest in carousel */
}
/* ========================================================================
   Debate Box Meta Counters (Matching Carousel Style)
======================================================================== */
.debate-square .debate-meta {
  display: flex;
  justify-content: space-between;
  color: #fff !important;
  padding-top: 15px;
  margin-top: 15px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.debate-square .debate-meta span {
  font-size: 0.95rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.debate-square .debate-meta i {
  font-size: 1.1rem;
  color: #FFD700;
  width: 20px;
  text-align: center;
}

.debate-square .votes i {
  color: #ffffff;
}

.debate-square .comments i {
  color: #ffffff;
}

.debate-square .views i {
  color: #ffffff;
}

/* Hover Effects */
.debate-square:hover .debate-meta {
  border-top-color: rgba(255, 255, 255, 0.4);
}

.debate-square:hover .debate-meta span {
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* ========================================================================
   Trending Debates Header Styling
======================================================================== */
.trending-debates-slider h2 {
  font-size: 2.8rem;
  color: #fff;
  text-align: center;
  margin: 2rem 0;
  padding-bottom: 1rem;
  position: relative;
  display: inline-block;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
  letter-spacing: 0.5px;
}

.trending-debates-slider h2::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60%;
  height: 4px;
  background: linear-gradient(
    to right,
    rgba(255, 215, 0, 0),
    #9a08adce 30%,
    #9a08adce 70%,
    rgba(255, 255, 255, 0)
  );
  border-radius: 2px;
}

/* Hover Effects */
.trending-debates-slider h2:hover {
  text-shadow: 0 4px 6px rgba(0,0,0,0.2);
}

.trending-debates-slider h2:hover::after {
  background: linear-gradient(
    to right,
    rgba(255, 215, 0, 0),
    #5e20ee 30%,
    #5e20ee 70%,
    rgba(255, 255, 255, 0)
  );
  width: 70%;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
  .trending-debates-slider h2 {
    font-size: 2.2rem;
    padding-bottom: 0.8rem;
  }
  
  .trending-debates-slider h2::after {
    width: 70%;
    height: 3px;
  }
}

@media (max-width: 480px) {
  .trending-debates-slider h2 {
    font-size: 1.8rem;
    padding-bottom: 0.6rem;
  }
}
/* ========================================================================
   Slider Fixes & Enhancements
======================================================================== */

/* Main Consensus Slider */
.main-vote-slider {
  --main-color-left: #FFD700; /* Strong yellow */
  --main-color-right: #dbd6bb; /* Whiter yellow */
  background: linear-gradient(
    to right,
    var(--main-color-left) 0%,
    var(--main-color-left) var(--slider-progress, 50%),
    var(--main-color-right) var(--slider-progress, 50%),
    var(--main-color-right) 100%
  ) !important;

}

.main-vote-slider::-webkit-slider-thumb {
  background: #FFD700 !important; /* Strong yellow thumb */
  border: 2px solid #000 !important;
}



.user-vote-slider::-webkit-slider-thumb {
  background: #0066ff !important; /* Blue circle */
  border: 2px solid #fff !important;
}

/* ========================================================================
   Vote Percentage & Button Styles
======================================================================== */
.vote-controls {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 0rem;
}

.current-value {
  color: #FFD700;
  font-weight: bold;
  font-size: 1.2rem;
  min-width: 60px;
  text-align: center;
}

.btn-success {
  background-color: #4a05c9c2 !important;
  border-color: #152ba8 !important;
  padding: 0.8rem 2rem;
  font-weight: bold;
  transition: all 0.3s ease;
}

.btn-success:hover {
  background-color: #aaadbb !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 6px rgba(0,0,0,0.2);
}

/* ========================================================================
   Consensus Value Styling
======================================================================== */
.current-vote-display p {
  color: #fff !important; /* Force white text for consensus label */
  font-size: 1.4rem;
  margin: 0;
}

.consensus-value {
  color: #fff !important; /* White percentage value */
  font-size: 1.5rem !important;
  font-weight: 900;
  text-shadow: 1px 1px 3px rgba(0,0,0,0.3);
}

/* ========================================================================
   User Vote Percentage Styling
======================================================================== */
.current-value {
  color: #fff !important; /* White percentage text */
  font-size: 1.4rem;
  font-weight: bold;
  padding: 8px 16px;
  background: rgba(255,255,255,0.1);
  border-radius: 25px;
}

/* ========================================================================
   Slider Label Adjustments
======================================================================== */
.slider-labels .label-left {
  color: #FFD700 !important;
  font-size: 1.1rem;
}

.slider-labels .label-right {
  color: #dbd6bb !important;
  font-size: 1.1rem;
  text-align: right;
}
/* ========================================================================
   User Vote Slider Label
======================================================================== */
.user-vote-container .vote-instruction {
  color: #fff;
  font-size: 1rem;
  margin-bottom: 0rem;
  display: block;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.5px;
}
/* ========================================================================
   Account creation
======================================================================== */

/* Apply a white, rounded box to the entire registration form or any container */
.user-register-form,
.terms-and-conditions {
  background-color: #ffffff;   /* White background */
  border: 1px solid #ccc;      /* Light grey border */
  border-radius: 8px;          /* Rounded corners */
  padding: 20px;               /* Space inside the box */
  color: #000000;              /* Black text */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);  /* Optional subtle shadow */
}

/* Optionally, if the registration form doesn’t already have a wrapping class, you can target a more specific element */
form.user-register-form {
  margin: 0 auto;
  max-width: 600px;
}

.terms-page {
  background-color: #ffffff;   /* White background */
  border: 1px solid #ccc;      /* Light grey border */
  border-radius: 8px;          /* Rounded corners */
  padding: 20px;               /* Internal spacing */
  color: #000000;              /* Black text */
  max-width: 800px;            /* Optional: limit width */
  margin: 20px auto;           /* Center the box with margin */
}
/* ========================================================================
   Footer Positioning & Styling
======================================================================== */
/* Add to your existing CSS */
.page-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.main-content {
  flex: 1;

}

footer.footer {
  background: #000000;
  margin: 1px solid #3c0280;
  margin-top: auto !important; 
  z-index: 500;
  padding: 1.5rem 0;
  position: relative; /* Changed from default */
}

.footer .container {
  display: flex;
  justify-content: center;
  gap: 2rem;
  background: #000000;
}

.footer .btn-link {
  color: #e6eaee;
  font-weight: 500;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 25px;
}

.footer .btn-link:hover {
  color: #9a08adce;
  background: rgba(154, 8, 173, 0.1);
  text-decoration: none;
}

.footer .btn-link i {
  font-size: 1.1em;
}

/* ========================================================================
   About Page Styling (Matches Terms Page)
======================================================================== */
.about-page {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  padding: 2.5rem;
  max-width: 2000px;
  margin: 2rem auto;
  margin-top: 50px;
}

.about-page h1 {
  color: #4a05c9c2;
  font-size: 2.5rem;
  margin-bottom: 2rem;
  border-bottom: 3px solid #f0f0f0;
  padding-bottom: 1rem;
}

.about-content p {
  font-size: 1.1rem;
  line-height: 1.7;
  color: #444;
  margin-bottom: 1.5rem;
}

.about-content strong {
  color: #9a08adce;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  .footer .container {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }
  
  .about-page {
    padding: 1.5rem;
    margin: 1rem;
  }
  
  .about-page h1 {
    font-size: 2rem;
  }
}

@media (max-width: 480px) {
  .footer .btn-link {
    padding: 0.5rem;
    font-size: 0.9rem;
  }
  
  .about-page {
    padding: 1rem;
  }
  
  .about-page h1 {
    font-size: 1.8rem;
  }
}
/* ========================================================================
   Debate Creation Form
======================================================================== */
.debate-creation-form {
  max-width: 800px;
  margin: 50px auto;
  padding: 30px;
  background: #9a08adce;
  border-radius: 20px;
  box-shadow: 0 8px 16px rgba(0,0,0,0.2);
}

.debate-creation-form .form-item {
  margin-bottom: 2rem;
}

.debate-creation-form label {
  display: block;
  font-size: 1.2rem;
  color: #ffffff;
  margin-bottom: 0.8rem;
  font-weight: 600;
}

.debate-creation-form input[type="text"],
.debate-creation-form textarea {
  width: 100%;
  padding: 12px 20px;
  background: rgba(255,255,255,0.9);
  border: 2px solid #ffffff;
  border-radius: 15px;
  font-size: 1.1rem;
  color: #2c3e50;
  transition: all 0.3s ease;
}

.debate-creation-form input[type="text"]:focus,
.debate-creation-form textarea:focus {
  border-color: #4a05c9c2;
  box-shadow: 0 0 12px rgba(74,5,201,0.2);
  background: #ffffff;
}

.debate-creation-form textarea {
  min-height: 150px;
  resize: vertical;
}

.debate-creation-form .form-actions {
  margin-top: 2.5rem;
  text-align: center;
}

.debate-creation-form #edit-submit {
  background: #4a05c9c2;
  color: #fff;
  padding: 15px 45px;
  font-size: 1.2rem;
  border: none;
  border-radius: 30px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: bold;
}

.debate-creation-form #edit-submit:hover {
  background: #6c08df;
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(0,0,0,0.2);
}

/* Pro/Con Input Specific Styles */
.debate-creation-form .form-item-field-pro,
.debate-creation-form .form-item-field-con {
  position: relative;
}

.debate-creation-form .form-item-field-pro label::after,
.debate-creation-form .form-item-field-con label::after {
  content: "→";
  margin-left: 10px;
  color: #ffffff;
  font-size: 1.4rem;
}

/* Responsive Design */
@media (max-width: 768px) {
  .debate-creation-form {
    margin: 30px 15px;
    padding: 25px;
    border-radius: 15px;
  }
  
  .debate-creation-form label {
    font-size: 1.1rem;
  }
  
  .debate-creation-form input[type="text"],
  .debate-creation-form textarea {
    font-size: 1rem;
    padding: 10px 15px;
  }
  
  .debate-creation-form #edit-submit {
    padding: 12px 35px;
    font-size: 1.1rem;
  }
}

@media (max-width: 480px) {
  .debate-creation-form {
    padding: 20px;
  }
  
  .debate-creation-form .form-item {
    margin-bottom: 1.5rem;
  }
  
  .debate-creation-form #edit-submit {
    width: 100%;
    padding: 15px;
  }
}

/* ========================================================================
   Cookie
======================================================================== */
/* Cookie Banner Fixes */
/* Cookie Banner Fix */
#cookieConsent.cookie-banner {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  background: #2c3e50 !important;
  color: white !important;
  padding: 1.5rem !important;
  z-index: 999999 !important; /* Highest possible */
  display: flex !important;
  transform: translateY(100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border-top: 2px solid #4a05c9c2;
}

#cookieConsent.cookie-banner.active {
  transform: translateY(0) !important;
}

.cookie-content {
  max-width: 1200px;
  margin: 0 auto;
  display: flex !important;
  gap: 1rem;
  align-items: center;
  width: 100%;
}

.cookie-buttons {
  display: flex !important;
  gap: 1rem;
  margin-left: auto;
  flex-shrink: 0;
}

.btn-accept {
  background: #4CAF50 !important;
  color: white !important;
  padding: 8px 20px !important;
  border: none !important;
  border-radius: 4px !important;
}

.btn-decline {
  background: #e74c3c !important;
  color: white !important;
  padding: 8px 20px !important;
  border: none !important;
  border-radius: 4px !important;
}

/* Cookie Withdraw Button */
.withdraw-consent {
  position: fixed;
  bottom: 20px;
  z-index: 2147483645 !important;
  left: 20px !important;
  margin-left: 200px !important; /* Desktop sidebar width */
}

/* Cookie Banner */
#cookieConsent {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  transform: translateY(100%);
  transition: transform 0.3s ease;
  z-index: 999999;
  background: #2c3e50;
  color: white;
  padding: 1rem;
}

#cookieConsent.active {
  transform: translateY(0);
}

@media (max-width: 768px) {
  .create-debate-button-container {
    bottom: 80px !important; /* Above mobile footer */
  }
  
  .withdraw-consent {
    margin-left: 0 !important;
    left: 10px !important;
    bottom: 10px !important;
  }
}
/* ========================================================================
   Purple hippo xx
======================================================================== */
/* Official Debate Styling */
.official-debate {
  background-color: rgba(74, 5, 201, 0.08);
  border: 2px solid #4a05c9c2;
  border-radius: 15px;
  position: relative;
  padding: 20px;
  margin: 15px 0;
  margin-top: 80px;
}

.official-debate:before {
  content: "Official Debate";
  position: absolute;
  top: -10px;
  left: 20px;
  background: #4a05c9c2;
  color: white;
  padding: 4px 12px;
  border-radius: 15px;
  font-size: 0.9em;
  font-weight: bold;
}

/* Official Comments */
.comment.official-comment {
  background: rgba(74, 5, 201, 0.05);
  border-left: 3px solid #4a05c9c2;
  padding-left: 15px;
  margin: 10px 0;
}

.comment.official-comment .comment-meta strong {
  color: #4a05c9c2;
  font-weight: 700;
}

.comment.official-comment .comment-meta strong:after {
  content: " (Official)";
  color: #666;
  font-size: 0.9em;
  font-weight: normal;
}

/* Author badge in comments */
.official-author {
  position: relative;
  padding-left: 28px;
}

.official-author:before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  background: url('/themes/custom/my_bootstrap_subtheme/images/hippo-icon.svg') no-repeat center;
  background-size: contain;
}
.loading-spinner {
  display: none;
  text-align: center;
  padding: 20px;
  background: url(../images/spinner.gif) no-repeat center center;
}


/* Sorting controls */
.sorting-controls {
  margin: 2rem 0;
  padding: 1rem;
  background: #f8f9fa;
  border-radius: 8px;
}

.sort-buttons {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}

.btn-filter {
  padding: 0.5rem 1rem;
  border: 1px solid #dee2e6;
  border-radius: 20px;
  background: white;
  transition: all 0.2s;
}

.btn-filter.active {
  background: #2c3e50;
  color: white;
  border-color: #2c3e50;
}

/* Load more button */
.load-more {
  display: none; /* Hidden by default */
  margin: 2rem auto;
  padding: 1rem 3rem;
  border-radius: 30px;
  background: #4a05c9c2 !important;
  border: 2px solid #fff;
  font-size: 1.1rem;
  transition: all 0.3s ease;
}
/* Loading spinner */
.loading-spinner {
  display: none;
  text-align: center;
  padding: 2rem;
  color: #666;
}
.load-more:hover {
  transform: translateY(-3px);
  box-shadow: 0 5px 15px rgba(74,5,201,0.4);
}

.load-more.visible {
  display: block !important;
}
.loading-spinner::after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  border: 3px solid #f3f3f3;
  border-radius: 50%;
  border-top-color: #3498db;
  animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}
/* Add to your CSS */
.sorting-controls {
  background: none !important;
  padding: 1.5rem !important;
  border-radius: 20px !important;
  margin: 2rem 0;
}

.btn-filter {
  background: rgba(255,255,255,0.1) !important;
  color: #fff !important;
  border: 2px solid rgba(255,255,255,0.3) !important;
  transition: all 0.3s ease !important;
}

.btn-filter.active {
  background: #4a05c9c2 !important;
  border-color: #fff !important;
  box-shadow: 0 4px 15px rgba(74,5,201,0.3) !important;
}
/* Explore Section Header */
.explore-section h2 {
  font-size: 2.5rem;
  color: #fff;
  text-align: center;
  margin: 1.5rem 0 1rem;
  padding-bottom: 1rem;
  position: relative;
  display: inline-block;
  width: 100%;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

.explore-section h2::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 200px;
  height: 3px;
  background: linear-gradient(
    to right,
    rgba(255,215,0,0),
    #9a08adce 30%,
    #9a08adce 70%,
    rgba(255,255,255,0)
  );
  border-radius: 2px;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
  .explore-section h2 {
    font-size: 2.2rem;
    margin: 2rem 0;
  }
  
  .explore-section h2::after {
    width: 150px;
  }
}
/* ========================================================================
   Country Filter Styles
======================================================================== */
#country-filter {
  background: #9a08adce;
  color: #fff;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 25px;
  font-size: 1rem;
  max-width: 200px;
  cursor: pointer;
  transition: all 0.3s ease;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23FFFFFF%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: right 0.7rem center;
  background-size: 1.2rem auto;
}

#country-filter:hover {
  border-color: #4a05c9c2;
  box-shadow: 0 0 12px rgba(74,5,201,0.2);
}

#country-filter option {
  background: #9a08adce;
  color: #fff;
}

/* ========================================================================
   Account Settings - Country Display
======================================================================== */
.account-settings-page .form-item-country {
  margin-bottom: 2rem;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 15px;
}

.account-settings-page .form-item-country label {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 1.1rem;
  color: #FFD700 !important;
}

.account-settings-page .form-item-country label i {
  color: #4a05c9c2;
  font-size: 1.3rem;
}

.account-settings-page .form-item-country .your-country-text {
  font-size: 1.2rem;
  color: #fff;
  padding: 0.5rem 1rem;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  margin-top: 0.5rem;
  display: inline-block;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

/* Responsive Design */
@media (max-width: 768px) {
  #country-filter {
    max-width: 100%;
    width: 100%;
    font-size: 0.95rem;
  }
  
  .account-settings-page .form-item-country label {
    flex-direction: column;
    align-items: flex-start;
  }
}
/* ========================================================================
   Timing Filter Styles
======================================================================== */
#period-filter {
  background: #9a08adce;
  color: #fff;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 25px;
  font-size: 1rem;
  max-width: 150px;
  cursor: pointer;
  transition: all 0.3s ease;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23FFFFFF%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: right 0.7rem center;
  background-size: 1.2rem auto;
  margin-left: 1rem;
}

#period-filter:hover {
  border-color: #4a05c9c2;
  box-shadow: 0 0 12px rgba(74,5,201,0.2);
}

#period-filter option {
  background: #9a08adce;
  color: #fff;
}

.consensus-filters {
  display: flex;
  gap: 1rem;
  margin: 0.5rem 0;
  flex-wrap: wrap;
  justify-content: center;
}

@media (max-width: 768px) {
  #period-filter {
    max-width: 100%;
    width: 100%;
    margin-left: 0;
    margin-top: 1rem;
  }
  
  .consensus-filters {
    flex-direction: column;
  }
}
/* ========================================================================
   Admin Solution Box 
======================================================================== */
.current-solution-admin {
  background: #9a08adce;
  border: 2px solid #FFD700;
  border-radius: 25px;
  padding: 1.5rem;
  margin: 2rem 0;
  position: relative;
  color: #fff;
}

.solution-title {
  font-size: 1.5rem;
  color: #FFD700 !important;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.current-solution-content {
  font-size: 1.1rem;
  line-height: 1.6;
  padding: 1rem;
  background: rgba(0,0,0,0.2);
  border-radius: 15px;
}

.solution-edit-form {
  margin-top: 1.5rem;
  background: rgba(0,0,0,0.15);
  padding: 1.5rem;
  border-radius: 15px;
}

.solution-textarea {
  width: 100%;
  min-height: 150px;
  background: rgba(255,255,255,0.9);
  border: 2px solid #FFD700;
  border-radius: 15px;
  padding: 1rem;
  color: #2c3e50;
}

.edit-solution-btn {
  background: #FFD700 !important;
  color: #2c3e50 !important;
  border: none !important;
  border-radius: 25px !important;
  padding: 0.8rem 2rem !important;
  font-weight: bold !important;
  transition: all 0.3s ease !important;
  margin-top: 1rem !important;
}

.edit-solution-btn:hover {
  background: #4a05c9c2 !important;
  color: #FFD700 !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(255,215,0,0.3);
}

.cancel-edit {
  background: #4a05c9c2 !important;
  color: #fff !important;
  margin-left: 1rem !important;
}
/* Admin Solution Section Styling */
.current-solution-admin {
  background: #9a08adce !important;
  border: 2px solid #FFD700 !important;
  border-radius: 25px !important;
  padding: 1.5rem !important;
  margin: 2rem 0 !important;
  color: #fff !important;
}

.current-solution-display {
  color: #fff !important;
  padding: 1rem;
  background: rgba(0,0,0,0.2) !important;
  border-radius: 15px;
  margin: 1rem 0;
}

.solution-admin-controls .btn {
  background: #FFD700 !important;
  color: #2c3e50 !important;
  border-radius: 25px !important;
  padding: 0.5rem 1.5rem !important;
  border: none !important;
}

.solution-admin-controls .btn:hover {
  background: #4a05c9c2 !important;
  color: #FFD700 !important;
}

.solution-edit-form {
  background: rgba(255,255,255,0.1) !important;
  padding: 1.5rem !important;
  border-radius: 15px !important;
}

.solution-textarea {
  background: rgba(255,255,255,0.9) !important;
  color: #2c3e50 !important;
  border: 2px solid #FFD700 !important;
}

/* Google login button styles */
.btn-google {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 10px 15px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #757575;
  text-decoration: none;
  transition: 0.3s;
}

.btn-google:hover {
  background: #f8f9fa;
  border-color: #ccc;
  text-decoration: none;
}

.btn-google img {
  height: 20px;
  width: 20px;
}

.or-separator {
  display: flex;
  align-items: center;
  text-align: center;
  color: #666;
  margin: 20px 0;
}

.or-separator .line {
  flex: 1;
  height: 1px;
  background: #ddd;
}

.or-separator .text-muted {
  padding: 0 10px;
}



.donation-callout {
  padding: 25px;
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  margin: 30px 0;
  text-align: center;
  border-left: 4px solid #2ecc71;
}

.donation-callout h3 {
  color: #2c3e50;
  margin-bottom: 15px;
}




.profile-page {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 0px);
  background-color: #3c0280 !important; 
  margin-top: 0px;
  padding: 0;
} 


.profile-home-button {
  text-align: center;
  background-color: #9a08adce !important;
}

.profile-home-button .btn {
  font-size: 1.5rem;
  padding: 1rem 2rem;
  border-radius: 0.5rem;
  background-color: #9a08adce !important;
  border-color: none;
}
/* ========================================================================
   Enhanced Share Button Styles (Revised)
======================================================================== */
.share-debate {
  position: relative;
  display: inline-block;
  margin: 10px 0;
  z-index: 100;
}

.share-button {
  background: #9a08adce !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  border-radius: 25px;
  padding: 8px 15px;
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.share-button:hover {
  background: #6c08df !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(154,8,173,0.35);
}

.share-dropdown {
  position: absolute;
  top: calc(100% + 4px) !important;
  left: 0;
  background: #9a08adce;
  border-radius: 12px;
  padding: 0px !important;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 8px 24px rgba(0,0,0,0.2);
  border: 1px solid rgba(255,255,255,0.15);
  z-index: 1000;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 300px;
  font-size: 15px !important;
}

.share-dropdown.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.share-dropdown::before {
  content: '';
  position: absolute;
  bottom: 100%;
  left: 12px;
  border: 8px solid transparent;
  border-bottom-color: #9a08adce;
}

.share-option {
  flex: 1;
  min-width: 120px;
  padding: 1px;
  border-radius: 8px;
  color: rgba(255,255,255,0.9);
  text-decoration: none;
  transition: all 0.2s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.share-option:hover {
  background: rgba(255,255,255,0.1);
  transform: translateY(-2px);
}

.share-option i {
  font-size: 1.4em;
  margin-bottom: 4px;
}

/* Platform Colors */
.share-option.twitter:hover { color: #000 !important; }
.share-option.facebook:hover { color: #1877f2 !important; }
.share-option.whatsapp:hover { color: #25D366 !important; }
.share-option.instagram:hover { color: #E1306C !important; }
.share-option.copy-link:hover { color: #FFD700 !important; }

/* Carousel Specific */
.trending-debates-slider .share-dropdown {
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  min-width: 280px;
}

.trending-debates-slider .share-dropdown.show {
  transform: translateX(-50%) translateY(0);
}

.trending-debates-slider .share-dropdown::before {
  left: 50%;
  transform: translateX(-50%);
}

/* Mobile Optimization */
@media (max-width: 768px) {
  .share-dropdown {
    min-width: 260px;
    flex-direction: column;
    gap: 4px;
  }
  
  .share-option {
    min-width: auto;
    flex-direction: row;
    justify-content: flex-start;
    gap: 8px;
    padding: 10px;
  }
  
  .trending-debates-slider .share-dropdown {
    min-width: 240px;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
  }
}

/* Debate Box Fixes */
.debate-item-box .share-debate,
.debate-square .share-debate {
  position: static;
  margin-top: 15px;
}

.debate-item-box .share-dropdown,
.debate-square .share-dropdown {
  left: 0;
  right: auto;
}

/* give Copy Link the same default bg as your other options get on hover */
.share-option.copy-link {
  background: #9a08adce;
}

@media (max-width: 768px) {
  /* Undo the static rule so the dropdown can overlap the box */
  .debate-item-box .share-debate,
  .debate-square .share-debate {
    position: absolute;
    top: 8px;    /* tweak as needed */
    right: 8px;  /* or left: 8px; */
    margin-top: 0;
    z-index: 1000; /* ensure it’s above the card */
  }

  /* And if you need the dropdown itself to be closer: */
  .debate-item-box .share-debate .share-dropdown,
  .debate-square .share-debate .share-dropdown {
    top: calc(100% + 2px) !important;  /* pull it up slightly */
  }
}
/* Main Container */
.account-settings-container {
  max-width: 800px;
  margin: 2rem auto;
  padding: 20px;
  margin-top: 70px;
}

/* Shared Box Styling */
.settings-box {
  background: #9a08adce;
  border: 2px solid rgba(255, 255, 255, 0.15);
  border-radius: 15px;
  padding: 1.5rem;
  margin-bottom: 2rem;
  transition: all 0.3s ease;
}

.settings-box:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(154, 8, 173, 0.4);
}

/* Box Titles */
.box-title {
  color: #ffffff !important;
  font-size: 1.3rem;
  border-bottom: 2px solid #4a05c9c2;
  padding-bottom: 0.8rem;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

/* Email Section */
.current-email {
  background: rgba(0, 0, 0, 0.2);
  padding: 1rem;
  border-radius: 8px;
  color: #fff;
  font-size: 1.1rem;
}

/* Username Section */
.username-input {
  background: rgba(255, 255, 255, 0.9) !important;
  border: 2px solid #4a05c9c2 !important;
  border-radius: 8px !important;
  padding: 0.8rem !important;
  width: 100% !important;
  max-width: 400px !important;
  color: #2c3e50 !important;
}

.validation-message {
  margin: 1rem 0;
}

.username-submit {
  background: #4a05c9c2 !important;
  color: white !important;
  padding: 0.8rem 2rem !important;
  border-radius: 25px !important;
  border: none !important;
  transition: all 0.3s ease !important;
}

.username-submit:hover {
  background: #6c08df !important;
  transform: translateY(-2px);
}

/* Country Select */
.country-select {
  background: rgba(255, 255, 255, 0.9) !important;
  border: 2px solid #4a05c9c2 !important;
  border-radius: 8px !important;
  padding: 0.8rem !important;
  width: 100% !important;
  max-width: 300px !important;
  color: #2c3e50 !important;
}

/* Member Info */
.member-for {
  color: #FFD700;
  font-size: 1.1rem;
}

/* Danger Zone */
.danger-box {
  border-color: #dc3545 !important;
}

.danger-box .box-title {
  color: #dc3545 !important;
  border-color: #dc3545 !important;
}

.delete-account-btn {
  background: #dc3545 !important;
  color: white !important;
  padding: 0.8rem 2rem !important;
  border-radius: 25px !important;
  border: none !important;
  transition: all 0.3s ease !important;
}

.delete-account-btn:hover {
  background: #c82333 !important;
  transform: translateY(-2px);
}

/* Save All Button */
.save-all-btn {
  background: #4a05c9c2 !important;
  color: #FFD700 !important;
  padding: 1rem 3rem !important;
  border-radius: 25px !important;
  border: none !important;
  font-size: 1.1rem !important;
  transition: all 0.3s ease !important;
  width: 100%;
  max-width: 400px;
  display: block;
  margin: 2rem auto 0;
}

.save-all-btn:hover {
  background: #6c08df !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(74, 5, 201, 0.3);
}
/* Text Colors */
.account-settings-container,
.account-settings-container .form-item label,
.account-settings-container .description,
.account-settings-container .box-title,
.account-settings-container .member-for,
.account-settings-container .delete-content p {
  color: #ffffff !important;
}

/* Save All Button */
.save-all-btn {
  background: #6c08df !important; /* Lighter purple */
  color: #ffffff !important; /* White text */
  padding: 1rem 3rem !important;
  border-radius: 25px !important;
  border: none !important;
  font-size: 1.1rem !important;
  transition: all 0.3s ease !important;
  width: 100%;
  max-width: 400px;
  display: block;
  margin: 2rem auto 0;
}

.save-all-btn:hover {
  background: #8a3ffb !important; /* Even lighter on hover */
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(108, 8, 223, 0.3);
}

/* Input Field Text */
.username-input,
.country-select {
  color: #2c3e50 !important; /* Keep dark text for inputs */
}

/* Danger Zone Text */
.danger-box .delete-content p {
  color: #ffcccc !important; /* Light red for warning text */
  font-size: 0.95rem;
  margin-bottom: 1rem;
}

/* Validation Messages */
.validation-message .alert {
  color: #ffffff !important;
  border: none !important;
  background: rgba(255, 255, 255, 0.15) !important;
  border-radius: 8px;
}

/* Member Since Text */
.member-for {
  font-size: 1rem;
  opacity: 0.9;
}








/* ========================================================================
   Debate Tabs System - Premium Redesign
======================================================================== */
.debate-split-section {
  display: flex;
  gap: 1rem;
  margin: 1.5rem 0;
  background: #1A1A2E; /* Deep navy outer container */
  border-radius: 20px;
  box-shadow: 0 12px 40px rgba(0,0,0,0.3);
  padding: 2.5rem;
  position: relative;
  border: 1px solid rgba(255,255,255,0.1);
}

/* Side Labels */
.side-label {
  position: absolute;
  top: -45px;
  padding: 8px 20px;
  border-radius: 25px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 0.9rem;
  background: linear-gradient(135deg, #6C0480 0%, #4A0470 100%);
  color: #FFECD1;
  box-shadow: 0 4px 15px rgba(108,4,128,0.3);
  z-index: 99;
  margin-top: 30px;
  margin-bottom: 30px;
}
.slider-label-right {
  position: absolute;
  top: -15px;
  padding: 8px 20px;
  border-radius: 25px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 0.9rem;
  background: linear-gradient(135deg, #6C0480 0%, #4A0470 100%);
  color: #FFECD1;
  box-shadow: 0 4px 15px rgba(108,4,128,0.3);
  z-index: 2;
  margin-top: 30px; 
  margin-bottom: 30px;
}
.pro-side .side-label {
  left: 2rem;
}

.con-side .side-label {
  right: 2rem;
  background: linear-gradient(135deg, #047A80 0%, #045070 100%);
}

/* Split Columns */
.split-side {
  flex: 1;
  border-radius: 15px;
  padding: 2rem;
  position: relative;
  overflow: hidden;
}

.con-side {
  background: #253545; /* Complementary blue inner container */
}

/* Tab Headers */
.tabs-header {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  position: absolute;
  left: 2rem;
  top: 4rem;
}

.con-side .tabs-header {
  left: auto;
  right: 2rem;
}

/* Tab Buttons */
.debate-tab-button {
  background: rgba(255,255,255,0.05);
  color: rgba(255,255,255,0.7);
  border: none;
  padding: 1rem 1.5rem;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  font-weight: 500;
  text-align: left;
  position: relative;
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255,255,255,0.1);
}

.debate-tab-button:hover {
  background: rgba(255,255,255,0.1);
  transform: translateX(5px);
  color: #FFECD1;
}

.debate-tab-button.active {
  background: linear-gradient(135deg, #FFD700 0%, #C5A600 100%);
  color: #2A2A4A;
  font-weight: 600;
  border-color: #FFD700;
  box-shadow: 0 4px 15px rgba(255,215,0,0.2);
}

.con-side .debate-tab-button.active {
  background: linear-gradient(135deg, #00C8D4 0%, #0094A8 100%);
  color: #002A35;
  border-color: #00C8D4;
  box-shadow: 0 4px 15px rgba(0,200,212,0.2);
}

/* Tab Contents */
.debate-tab-content {
  display: none;
  color: rgba(255,255,255,0.9);
  padding: 2rem;
  margin-left: 150px; /* Offset for side tabs */
  min-height: 300px;
}

.con-side .debate-tab-content {
  margin-left: 0;
  margin-right: 150px;
}

.debate-tab-content.active {
  display: block;
  animation: contentSlide 0.4s ease-out;
}

@keyframes contentSlide {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

.tab-content-inner {
  line-height: 1.7;
  font-size: 1.1rem;
  position: relative;
}

/* Content Styling */
.tab-content-inner h4 {
  color: #FFD700;
  margin-bottom: 1.5rem;
  font-size: 1.3rem;
  position: relative;
  padding-left: 2rem;
}

.con-side .tab-content-inner h4 {
  color: #00C8D4;
}

.tab-content-inner h4::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background: currentColor;
  border-radius: 2px;
  rotate: 45deg;
}

.tab-content-inner ul {
  padding-left: 2rem;
  margin: 1.5rem 0;
  list-style-type: none;
}

.tab-content-inner li {
  margin-bottom: 1.2rem;
  position: relative;
  padding-left: 2rem;
}

.tab-content-inner li:before {
  content: '▸';
  color: #FFD700;
  position: absolute;
  left: 0;
  font-size: 1.2rem;
  line-height: 1;
  opacity: 0.8;
}

.con-side .tab-content-inner li:before {
  color: #00C8D4;
}

/* Admin Controls */
.tab-admin-controls {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255,255,255,0.1);
}

.tab-admin-controls .btn {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.2);
  color: #FFECD1;
  transition: all 0.3s ease;
  padding: 0.6rem 1.2rem;
}

.tab-admin-controls .btn:hover {
  background: rgba(255,255,255,0.15);
  border-color: #FFD700;
  color: #FFD700;
}

/* Responsive Design */
@media (max-width: 1200px) {
  .tabs-header {
    width: 160px;
    left: 1rem;
  }
  
  .debate-tab-content {
    margin-left: 180px;
  }
}

@media (max-width: 992px) {
  .debate-split-section {
    flex-direction: column;
  }
  
  .tabs-header {
    position: static;
    width: 100%;
    flex-direction: row;
    margin-bottom: 2rem;
  }
  
  .debate-tab-content {
    margin: 0 !important;
    padding: 1.5rem;
    min-height: auto;
  }
}
/* ========================================================================
   Arguments Section Title
======================================================================== */
.arguments-section-title {
  color: #FFD700;
  font-size: 2rem;
  margin: 0.2rem 0 0.2rem;
  padding-left: 1.5rem;
  position: relative;
  border-left: 4px solid #4a05c9c2;
}

.debate-icon {
  margin-right: 12px;
  font-size: 1.4rem;
  vertical-align: middle;
  color: #4a05c9c2;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,0.1));
}

@media (max-width: 768px) {
  .arguments-section-title {
    font-size: 2rem;
    margin: 2rem 0 1rem;
    padding-left: 1rem;
  }
  
  .debate-icon {
    font-size: 1.2rem;
    margin-right: 8px;
  }
}
/* Add this to your existing CSS */
.debate-split-section {
  flex-direction: column; /* Stack children vertically */
  gap: 1rem; /* Space between title and content */
}

.split-sides-container {
  display: flex;
  gap: 2rem;
  width: 100%;
}

/* Adjust the existing arguments title */
.arguments-section-title {
  margin: 0 0 1rem 0;
  padding: 0;
  border-left: none;
  font-size: 2rem;
  text-align: center;
  width: 100%;
}

.arguments-section-title .debate-icon {
  font-size: 1.8rem;
  margin-right: 15px;
}

 /* ===== DEBATE PAGE LAYOUT ===== */
        .debate-container {
            display: flex;
            gap: 30px;
            margin-top: 0px;
        }
        
        .debate-main-content {
            flex: 1;
            overflow-y: auto;
            padding-right: 20px;

            max-height: calc(100vh - 200px);
        }
        
        .debate-sidebar {
            position: relative;
            width: 35%;
            min-width: 350px;
            padding-left: 20px;
            border-left: 1px solid #e0e0e0;
            display: flex;
            flex-direction: column;
            height: calc(100vh - 300px);

        }
        
        .sidebar-section {
            margin-bottom: 25px;
        }
        
        .arguments-container {
            flex: 1;
            overflow-y: auto;
        }
        
        .vote-container {
            margin-top: auto;
            padding-top: 20px;
            border-top: 1px solid #eee;
        }
        
        /* Responsive adjustments */
        @media (max-width: 992px) {
            .debate-container {
                flex-direction: column;
            }
            
            .debate-sidebar {
                width: 100%;
                min-width: auto;
                padding-left: 0;
                border-left: none;
                border-top: 1px solid #e0e0e0;
                padding-top: 25px;
                height: auto;
                max-height: none;
            }
            
            .debate-main-content {
                max-height: none;
            }
        }

/* ===== HIDE MOBILE ARGUMENTS ON DESKTOP ===== */
@media (min-width: 993px) {
    .mobile-arguments-container {
        display: none !important;
    }
}

/* ===== SHOW MOBILE ARGUMENTS ONLY ON MOBILE ===== */
@media (max-width: 992px) {
    .mobile-arguments-container {
        display: block !important;
    }
    
    /* Hide desktop sidebar on mobile */
    .debate-sidebar {
        display: none !important;
    }
}

/* ===== ENSURE MAIN ARGUMENTS ARE VISIBLE ON DESKTOP ===== */
.arguments-section {
    display: block !important;
}

/* ===== DEBATE PAGE LAYOUT ===== */
.debate-container {
    display: flex;
    gap: 20px;
    margin-top: 0px;
}

.debate-main-content {
    flex: 1;
    overflow-y: auto;
    padding-right: 20px;
}

.debate-sidebar {
    width: 35%;
    min-width: 300px;
    padding-left: 20px;
    border-left: 1px solid #e0e0e0;
    display: flex;
    flex-direction: column;
}

.sidebar-section {
    margin-bottom: 25px;
}

.arguments-container {
    flex: 1;
    overflow-y: auto;
}

.vote-container {
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

/* Responsive adjustments */
@media (max-width: 992px) {
    .debate-container {
        flex-direction: column;
    }
    
    .debate-sidebar {
        width: 100%;
        min-width: auto;
        padding-left: 0;
        border-left: none;
        border-top: 1px solid #e0e0e0;
        padding-top: 25px;
        height: auto;
        max-height: none;
    }
    
    .debate-main-content {
        max-height: none;
        padding-right: 0;
    }
}

/* ===== Arguments Section Title ===== */
.arguments-section-title {
    color: #FFD700;
    font-size: 1.4rem;
    margin: 1.5rem 0 1rem;
    position: relative;
}

.debate-icon {
    margin-right: 12px;
    font-size: 1.2rem;
    vertical-align: middle;
    color: #4a05c9c2;
    filter: drop-shadow(0 2px 2px rgba(0,0,0,0.1));
}

@media (max-width: 768px) {
    .arguments-section-title {
        font-size: 1.3rem;
        margin: 1rem 0;
    }
    
    .debate-icon {
        font-size: 1.1rem;
        margin-right: 8px;
    }
}

    /* ===== LAYOUT ADJUSTMENTS ===== */
.debate-container {
    display: flex;
    gap: 20px;
    margin-top: 0px;
}

.debate-main-content {
    flex: 1;
    order: 1;
}

.debate-sidebar {
    width: 35%;
    min-width: 300px;
    order: 2;
}

/* ===== SIDEBAR STYLES ===== */
.sidebar-title-section {
    border-color: #e0e0e0;
    padding: 15px;
    border-radius: 10px;
    margin-bottom: 0px;
    padding-bottom: 0px;
    padding-top: 2px;
}

.vote-container {
    background: #9a08adce;
    padding: 15px;
    border-radius: 10px;
}

/* ===== RESPONSIVE ADJUSTMENTS ===== */
@media (max-width: 992px) {
    .debate-container {
        flex-direction: column;
    }
    
    .debate-sidebar {
        width: 100%;
        min-width: auto;
    }
    
    /* Show mobile arguments on mobile */
    .mobile-arguments-container {
        display: block !important;
    }
    
    /* Hide sidebar on mobile */
    .debate-sidebar {
        display: none;
    }
}

/* Hide mobile arguments on desktop */
@media (min-width: 993px) {
    .mobile-arguments-container {
        display: none !important;
    }
}

/* ===== ARGUMENTS & COMMENTS ===== */
.arguments-section {
    background: #9a08adce;
    padding: 15px;
    border-radius: 10px;
    margin: 20px 0;
}

.comments-section {
    padding: 15px;
    border-radius: 10px;
    margin-top: 20px;
}

/* ===== FONT SIZE REDUCTIONS ===== */
.debate-title {
    font-size: 1.3rem !important;
    padding: 10px;
    margin-bottom: 5px;
}

.debate-description {
    font-size: 0.95rem !important;
    padding: 10px;
    margin-bottom: 15px;
}

.arguments-section-title {
    font-size: 2rem !important;
    margin: 0.5rem 0 0.5rem;
}

/* ===== COMPACT STYLES ===== */
.consensus-filters select {
    padding: 8px 12px;
    height: 40px;
    font-size: 0.9rem;
}

.main-vote-container,
.user-vote-container {
    padding: 5px;
    margin: 5px 0;
}

.comment {
    padding: 8px;
    margin-bottom: 10px;
}

/* ===== MOBILE VOTE FORM ===== */
.mobile-vote-container {
    display: none;
}

@media (max-width: 992px) {
    .mobile-vote-container {
        display: block;
    }
    
    .debate-sidebar .vote-container {
        display: none;
    }
}

/* ===== FOOTER ADJUSTMENT ===== */
footer.footer {
    padding: 0.5rem 0;
}    

/* ========================================================================
   Base Font Size Adjustment
======================================================================== */
html {
  font-size: 14px; /* Default is 16px - reducing to 14px scales everything down */
}

@media (max-width: 768px) {
  html {
    font-size: 13px; /* Slightly smaller on mobile */
  }
}

/* ========================================================================
   Convert Key Elements to REM Units
======================================================================== */

/* Sidebar */
.sidebar-links a,
.sidebar-links button {
  font-size: 1.5rem; /* Was 20px - now relative to base */
}

/* Debate titles */
.debate-title {
  font-size: 2rem !important; /* Was 1.5rem - now scales with base */
}

/* Debate descriptions */
.debate-description {
  font-size: 1rem !important; /* Was 1.1rem - now scales with base */
}

/* Main content */
.main-content {
  font-size: 1.1rem; /* Slightly smaller than base */
}

/* Buttons */
.btn {
  font-size: 0.9rem;
}

/* Form elements */
.form-control {
  font-size: 0.9rem;
}

/* Headings */
h1 { font-size: 2rem; }
h2 { font-size: 1.75rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.25rem; }
h5 { font-size: 1rem; }

/* Add to your CSS */
.full-width-consensus {
    width: 100%;
    padding: 20px;
    background: #3c0280;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.debate-sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.full-width-consensus .main-vote-container {
    max-width: 800px;
    margin: 0 auto;
    padding: 15px;
}

/* Mobile adjustments */
@media (max-width: 992px) {
    .full-width-consensus {
        margin-top: 20px;
        padding: 15px;
    }
    
    .debate-sidebar .main-vote-container {
        display: none;
    }
}

/* ========================================================================
   Debate Arguments Section - Complete Fix
======================================================================== */

/* Main Arguments Container */
.arguments-section {
  background: #9a08adce;
  padding: 25px;
  border-radius: 20px;
  margin: 30px 0;
  overflow: visible;
}

/* Arguments Title */
.arguments-section-title {
  color: #FFD700;
  font-size: 1.8rem;
  margin: 0 0 25px;
  padding-bottom: 10px;
  border-bottom: 3px solid #4a05c9c2;
  position: relative;
}

/* Fix for Tab System */
.debate-split-section {
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin: 0;
  background: none;
  box-shadow: none;
  padding: 0;
  border: none;
}

.split-sides-container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  width: 100%;
}

.split-side {
  flex: 1;
  min-width: 300px;
  background: rgba(0,0,0,0.2) !important;
  border-radius: 15px;
  padding: 25px 20px;
  position: relative;
  overflow: visible;
  box-shadow: 0 6px 15px rgba(0,0,0,0.2);
}

.pro-side { border-left: 5px solid #FFD700; }
.con-side { border-left: 5px solid #4a05c9c2; }

/* Side Labels */
.side-label {
  position: absolute;
  padding: 8px 20px;
  border-radius: 25px;
  font-weight: 700;
  font-size: 0.95rem;
  background: linear-gradient(135deg, #6C0480 0%, #4A0470 100%);
  color: #FFECD1;
  box-shadow: 0 4px 15px rgba(108,4,128,0.3);
  z-index: 2;
}

.pro-side .side-label { left: 20px; }
.con-side .side-label { right: 20px; background: linear-gradient(135deg, #047A80 0%, #045070 100%); }

/* Fix Tab Header Alignment */
.tabs-header {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 15px;
}

/* Tab Button Fixes */
.debate-tab-button {
  background: rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.85);
  border: 1px solid rgba(255,255,255,0.2);
  padding: 10px 15px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 1rem;
  flex-grow: 1;
  min-width: 120px;
  text-align: center;
}

.debate-tab-button:hover {
  background: rgba(255,255,255,0.2);
  transform: translateY(-2px);
  color: #FFECD1;
}

.debate-tab-button.active {
  background: linear-gradient(135deg, #FFD700 0%, #C5A600 100%);
  color: #2A2A4A;
  font-weight: 600;
  border-color: #FFD700;
}

.con-side .debate-tab-button.active {
  background: linear-gradient(135deg, #00C8D4 0%, #0094A8 100%);
  color: #002A35;
  border-color: #00C8D4;
}

/* Tab Content Fixes */
.debate-tab-content {
  display: none;
  color: rgba(255,255,255,0.95);
  padding: 0;
  animation: contentSlide 0.4s ease-out;
  overflow: visible;
}

.debate-tab-content.active {
  display: block;
}

.tab-content-inner {
  line-height: 1.7;
  font-size: 1.05rem;
  padding: 10px 0;
  overflow: visible;
}

.tab-content-inner h4 {
  color: #FFD700;
  margin-bottom: 15px;
  font-size: 1.3rem;
  padding-left: 25px;
  position: relative;
}

.con-side .tab-content-inner h4 { color: #00C8D4; }

.tab-content-inner h4::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;
  height: 15px;
  background: currentColor;
  border-radius: 3px;
  rotate: 45deg;
}

.tab-content-inner ul {
  padding-left: 25px;
  margin: 15px 0;
  list-style-type: none;
}

.tab-content-inner li {
  margin-bottom: 12px;
  position: relative;
  padding-left: 25px;
}

.tab-content-inner li:before {
  content: '▸';
  color: #FFD700;
  position: absolute;
  left: 0;
  font-size: 1.2rem;
  line-height: 1;
}

.con-side .tab-content-inner li:before { color: #00C8D4; }

/* Admin Controls Fix */
.tab-admin-controls {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,0.1);
}

.tab-admin-controls .btn {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.2);
  color: #FFECD1;
  transition: all 0.3s ease;
  padding: 0.6rem 1.2rem;
}

.tab-admin-controls .btn:hover {
  background: rgba(255,255,255,0.15);
  border-color: #FFD700;
  color: #FFD700;
}

/* Responsive Fixes */
@media (max-width: 992px) {
  .split-side {
    min-width: 100%;
  }
  
  .tabs-header {
    flex-direction: row;
    overflow-x: auto;
    padding-bottom: 10px;
  }
  
  .debate-tab-button {
    min-width: 140px;
  }
}

@media (max-width: 768px) {
  .arguments-section-title {
    font-size: 1.5rem;
  }
  
  .side-label {
    font-size: 0.85rem;
    padding: 6px 15px;
  }
  
  .debate-tab-button {
    padding: 8px 12px;
    font-size: 0.95rem;
  }
  
  .tab-content-inner h4 {
    font-size: 1.1rem;
    padding-left: 20px;
  }
  
  .tab-content-inner li {
    padding-left: 20px;
  }
}

/* Animation */
@keyframes contentSlide {
  from { opacity: 0; transform: translateY(15px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Fix for Content Overflow */
.split-side,
.debate-tab-content,
.tab-content-inner {
  overflow: visible !important;
  max-height: none !important;
  min-height: auto !important;
}

/* Fix for Text Wrapping */
.tab-content-inner * {
  overflow-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
}

/* Ensure all text is visible */
.tab-content-inner p,
.tab-content-inner li,
.tab-content-inner div {
  max-width: 100%;
}


/* ========================================================================
   Tab Headers Wrapping Fix
======================================================================== */
/* Remove absolute positioning and allow normal flow */
.pro-side .tabs-header,
.con-side .tabs-header {
  position: static !important;
  left: auto !important;
  top: auto !important;
  width: 100% !important;
}

/* Make tab headers wrap */
.tabs-header {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 15px;
}

/* Adjust tab button for wrapping text */
.debate-tab-button {
  white-space: normal;
  text-align: center;
  min-width: 100px;
  max-width: 100%;
  height: auto;
  line-height: 1.4;
  padding: 8px 12px;
  word-break: break-word;
}

/* Remove side margins from tab content */
.debate-tab-content {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* New container for side labels */
.side-labels-container {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 15px;
}

/* Style for both labels */
.side-label {
    padding: 8px 20px;
    border-radius: 25px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.9rem;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    z-index: 2;
    text-align: center;
    flex: 1;
    max-width: 48%;
}

/* Specific styles for each label */
.pro-label {
    background: linear-gradient(135deg, #6C0480 0%, #4A0470 100%);
    color: #FFECD1;
    margin-right: 10px;
}

.con-label {
    background: linear-gradient(135deg, #047A80 0%, #045070 100%);
    color: #FFECD1;
    margin-left: 10px;
}

/* Remove absolute positioning from split-side */
.split-side {
    position: relative;
    top: 0;
}

/* Adjust tab content spacing */
.debate-tab-content {
    margin-top: 10px;
}

/* ========================================================================
   Arguments Section Labels Fix
======================================================================== */

/* Fix for side labels container */
.side-labels-container {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 20px; /* Increased margin for better spacing */
    position: relative; /* Changed from absolute */
    z-index: 10; /* Ensure it's above other elements */
    top: 0; /* Reset positioning */
    left: 0; /* Reset positioning */
    transform: none; /* Remove any transforms */
}

/* Ensure labels are visible and have good contrast */
.side-label {
    padding: 10px 25px; /* Increased padding for better visibility */
    border-radius: 25px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 1rem; /* Slightly larger font */
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    z-index: 2;
    text-align: center;
    flex: 1;
    max-width: 48%;
    border: 2px solid white; /* Add border for better visibility */
    box-sizing: border-box; /* Include border in width calculation */
    text-shadow: 0 1px 2px rgba(0,0,0,0.8); /* Improve text readability */
}

/* Specific styles for each label with better contrast */
.pro-label {
    background: linear-gradient(135deg, #FFD700 0%, #C5A600 100%);
    color: #2A2A4A; /* Dark text for better contrast */
    margin-right: 10px;
}

.con-label {
    background: linear-gradient(135deg, #00C8D4 0%, #0094A8 100%);
    color: #002A35; /* Dark text for better contrast */
    margin-left: 570px;
}

/* Adjust arguments container spacing */
.arguments-container {
    margin-top: 20px; /* Add space between labels and content */
}

/* Fix for tab content positioning */
.debate-tab-content {
    margin: 0 !important; /* Remove any conflicting margins */
    padding: 15px;
    position: relative;
    z-index: 1;
}



        /* Mobile layout (max-width: 992px) */
        @media (max-width: 992px) {
            /* Hide desktop components */
            .debate-sidebar,
            .desktop-arguments,
            .desktop-consensus {
                display: none !important;
            }
            
            /* Show mobile components */
            .mobile-header,
            .mobile-consensus,
            .mobile-vote-container,
            .mobile-arguments-container {
                display: block !important;
            }
            
            /* Reorder sections */
            .debate-container {
                display: flex;
                flex-direction: column;
            }
            
            .mobile-header { order: 1; }
            .mobile-consensus { order: 2; }
            .mobile-vote-container { order: 3; }
            .current-solution-admin { order: 4; }
            .mobile-arguments-container { order: 5; }
            .comments-section { order: 6; }
            
            /* Adjust footer spacing */
            footer.footer {
                padding: 1rem 0;
                margin-top: 1rem;
            }
        }

        /* Desktop layout (min-width: 993px) */
        @media (min-width: 993px) {
            /* Hide mobile components */
            .mobile-header,
            .mobile-consensus,
            .mobile-vote-container,
            .mobile-arguments-container {
                display: none !important;
            }
            
            /* Show desktop components */
            .debate-sidebar,
            .desktop-arguments,
            .desktop-consensus {
                display: block !important;
            }
            
            /* Restore desktop layout */
            .debate-container {
                display: flex;
                flex-direction: row;
            }
            
            .debate-main-content {
                flex: 1;
                padding-right: 20px;
            }
            
            .debate-sidebar {
                width: 35%;
                min-width: 300px;
                padding-left: 20px;
                border-left: 1px solid #e0e0e0;
            }
            
            /* Restore original argument section styling */
            .arguments-section.desktop-arguments {
                display: block !important;
                margin: 30px 0;
                background: #9a08adce;
                padding: 25px;
                border-radius: 20px;
                overflow: visible;
            }
        }

        /* Additional mobile optimizations */
        @media (max-width: 768px) {
            .debate-title {
                font-size: 1.5rem !important;
            }
            
            .debate-description {
                font-size: 0.95rem !important;
            }
            
            .arguments-section-title {
                font-size: 1.4rem !important;
            }
            
            /* Compact form elements */
            .consensus-filters select {
                padding: 8px 12px;
                height: 40px;
                font-size: 0.9rem;
            }
            
            .main-vote-container,
            .user-vote-container {
                padding: 10px;
            }
            
            .vote-controls .btn {
                padding: 0.5rem 1rem;
            }
            
            /* Adjust comment spacing */
            .comment {
                padding: 10px;
                margin-bottom: 15px;
            }
        }

        /* Mobile layout (max-width: 992px) */
        @media (max-width: 992px) {
            /* Hide desktop components */
            .debate-sidebar,
            .desktop-arguments,
            .desktop-consensus {
                display: none !important;
            }
            
            /* Show mobile components */
            .mobile-header,
            .mobile-consensus,
            .mobile-vote-container,
            .mobile-arguments-container {
                display: block !important;
            }
            
            /* Reorder sections */
            .debate-main-content {
                display: flex;
                flex-direction: column;
            }
            
            .mobile-header { order: 1; }
            .mobile-consensus { order: 2; }
            .mobile-vote-container { order: 3; }
            .current-solution-admin { order: 4; }
            .mobile-arguments-container { order: 5; }
            .comments-section { order: 6; }
            
            /* Adjust spacing */
            .mobile-header {
                padding: 15px;
                border-radius: 10px;
                margin-bottom: 15px;
            }
            
            .mobile-consensus, 
            .mobile-vote-container,
            .current-solution-admin,
            .mobile-arguments-container {
                margin-bottom: 20px;
            }
            
            /* Mobile tab styling */
            .mobile-arguments-container .debate-tab-button {
                padding: 10px 15px;
                margin-bottom: 8px;
                background: rgba(255,255,255,0.1);
                border-radius: 8px;
                text-align: center;
                font-size: 0.95rem;
                display: block;
                width: 100%;
            }
            
            /* Adjust footer spacing */
            footer.footer {
                padding: 1rem 0;
                margin-top: 1rem;
            }
        }

        /* Desktop layout (min-width: 993px) */
        @media (min-width: 993px) {
            /* Hide mobile components */
            .mobile-header,
            .mobile-consensus,
            .mobile-vote-container,
            .mobile-arguments-container {
                display: none !important;
            }
            
            /* Show desktop components */
            .debate-sidebar,
            .desktop-arguments,
            .desktop-consensus {
                display: block !important;
            }
            
            /* Restore desktop layout */
            .debate-container {
                display: flex;
                flex-direction: row;
                gap: 30px;
            }
            
            .debate-main-content {
                flex: 1;
                padding-right: 20px;
                width: 65%;
            }
            
            .debate-sidebar {
                width: 35%;
                min-width: 300px;
                padding-left: 20px;
                border-left: 1px solid #e0e0e0;
            }
            
            .desktop-consensus {
                width: 100%;
                padding: 20px 0;
            }
            
            /* Arguments section styling */
            .arguments-section.desktop-arguments {
                background: #9a08adce;
                padding: 25px;
                border-radius: 20px;
                margin: 30px 0;
            }
            
            .side-labels-container {
                display: flex;
                justify-content: space-between;
                margin-bottom: 20px;
            }
            
            .side-label {
                padding: 8px 20px;
                border-radius: 25px;
                font-weight: bold;
                color: #fff;
            }
            
            .pro-label {
                background: linear-gradient(135deg, #6C0480 0%, #4A0470 100%);
            }
            
            .con-label {
                background: linear-gradient(135deg, #047A80 0%, #045070 100%);
            }
            
            .split-sides-container {
                display: flex;
                gap: 20px;
            }
            
            .split-side {
                flex: 1;
                background: rgba(0,0,0,0.2);
                padding: 20px;
                border-radius: 15px;
            }
        }

        /* Ensure tab contents are properly displayed */
        .debate-tab-content {
            display: none;
        }
        
        .debate-tab-content.active {
            display: block;
        }
        
        /* Tab button styling */
        .debate-tab-button {
            cursor: pointer;
            transition: all 0.3s ease;
        }
        
        .debate-tab-button.active {
            background: linear-gradient(135deg, #FFD700 0%, #C5A600 100%);
            color: #2A2A4A;
            font-weight: 600;
            border-color: #FFD700;
            box-shadow: 0 4px 15px rgba(255,215,0,0.2);
        }
        
        .con-side .debate-tab-button.active {
            background: linear-gradient(135deg, #00C8D4 0%, #0094A8 100%);
            color: #002A35;
            border-color: #00C8D4;
            box-shadow: 0 4px 15px rgba(0,200,212,0.2);
        }

        /* Additional mobile optimizations */
        @media (max-width: 768px) {
            .debate-title {
                font-size: 1.5rem !important;
            }
            
            .debate-description {
                font-size: 0.95rem !important;
            }
            
            .arguments-section-title {
                font-size: 1.4rem !important;
            }
            
            /* Compact form elements */
            .consensus-filters select {
                padding: 8px 12px;
                height: 40px;
                font-size: 0.9rem;
            }
            
            .main-vote-container,
            .user-vote-container {
                padding: 10px;
            }
            
            .vote-controls .btn {
                padding: 0.5rem 1rem;
            }
            
            /* Adjust comment spacing */
            .comment {
                padding: 10px;
                margin-bottom: 15px;
            }
        }


/* ========================================================================
   Targeted Fix for Vote/Comment Overlap
======================================================================== */
/* Main Content Container */
.debate-main-content {
  position: relative;
  display: flex;
  flex-direction: column;
}

/* Voting Sections Container */
.voting-sections {
  background: #9a08adce;
  padding: 20px;
  border-radius: 15px;
  margin-bottom: 40px; /* Increased space before comments */
  position: relative;
  z-index: 5;
}

/* Comments Section Positioning */
.comments-section {
  position: relative;
  z-index: 10;
  margin-top: 0 !important;
  padding-top: 40px;
  border-top: 2px solid #4a05c9c2;
}

/* Creates spacing buffer before comments */
.comments-section::before {
  content: "";
  display: block;
  height: 60px;
  margin-top: -60px;
  visibility: hidden;
}

/* Voting Elements Layout */
.vote-columns {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.consensus-display, 
.user-vote-container {
  flex: 1;
  min-width: 300px;
}

/* Mobile Optimization */
@media (max-width: 1400px) {
  .vote-columns {
    flex-direction: column;
  }
  
  .consensus-display, 
  .user-vote-container {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
  }
  
  .comments-section::before {
    height: 40px;
    margin-top: -40px;
  }
}

/* Ensure elements don't overlap */
.main-vote-container, 
.user-vote-container {
  position: relative;
  padding-bottom: 20px;
}

/* Spacing adjustments */
.debate-description {
  margin-bottom: 35px !important;
}

.arguments-section {
  margin-top: 50px !important;
}

.current-solution-admin {
  margin: 40px 0 !important;
}

/* ========================================================================
   Debate Container Layout Fix
======================================================================== */
/* Remove fixed heights */
.debate-main-content,
.debate-sidebar {
  max-height: none !important;
  height: auto !important;
}

/* Desktop layout */
@media (min-width: 993px) {
  .debate-container {
    display: flex;
    flex-wrap: wrap; /* Allow wrapping */
    gap: 20px;
    margin-top: 0px;
  }
  
  .debate-main-content {
    flex: 1;
    max-height: 70vh; /* Set fixed height for scrolling */
    overflow-y: auto; /* Enable vertical scrolling */
    padding-right: 20px;
    min-width: 60%; /* Ensure minimum width */
  }
  
  .debate-sidebar {
    width: 35%;
    min-width: 300px;
    max-height: 70vh; /* Set fixed height for scrolling */
    overflow-y: auto; /* Enable vertical scrolling */
    padding-left: 20px;
    border-left: 1px solid #e0e0e0;
  }
  
  .comments-section {
    flex: 0 0 100%; /* Force comments to full width */
    margin-top: 30px;
    padding-top: 25px;
    border-top: 2px solid #4a05c9c2;
  }
}

/* Mobile layout */
@media (max-width: 992px) {
  .debate-container {
    display: block;
  }
  
  .debate-main-content,
  .debate-sidebar {
    max-height: none;
    overflow-y: visible;
    padding: 0;
    width: 100%;
  }
  
  .debate-sidebar {
    border-left: none;
    border-top: 1px solid #e0e0e0;
    padding-top: 20px;
    margin-top: 20px;
  }
}

/* Custom scrollbar styling */
.debate-main-content::-webkit-scrollbar,
.debate-sidebar::-webkit-scrollbar {
  width: 8px;
}

.debate-main-content::-webkit-scrollbar-track,
.debate-sidebar::-webkit-scrollbar-track {
  background: rgba(154, 8, 173, 0.1);
}

.debate-main-content::-webkit-scrollbar-thumb,
.debate-sidebar::-webkit-scrollbar-thumb {
  background: #4a05c9c2;
  border-radius: 4px;
}

/* Ensure comments section has proper spacing */
.comments-section {
  margin-top: 40px;
  padding-top: 25px;
  border-top: 2px solid #4a05c9c2;
  width: 100%;
}

/* ========================================================================
   GUARANTEED Scrollable Arguments Section - FINAL SOLUTION
======================================================================== */
/* Main content container */
.debate-main-content {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Arguments section - fixed height container */
.arguments-section.desktop-arguments {
  flex: 1;
  display: flex;
  flex-direction: column;
  height: 60vh; /* Fixed height */
  min-height: 400px; /* Minimum height */
  background: #9a08adce;
  padding: 25px;
  border-radius: 20px;
  margin: 30px 0;
  overflow: hidden; /* Hide overflow */
}

/* Arguments container - scrollable area */
.arguments-container {
  flex: 1; /* Take remaining space */
  overflow-y: auto; /* Enable scrolling */
  padding-right: 15px; /* Space for scrollbar */
  position: relative;
}

/* Tab wrapper */
.tabs-wrapper {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Tab headers */
.tabs-header {
  flex-shrink: 0; /* Prevent shrinking */
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-bottom: 15px;
}

/* Tab contents */
.tabs-contents {
  flex: 1; /* Take remaining space */
  overflow-y: auto; /* Enable scrolling */
  position: relative;
}

/* Custom scrollbar styling */
.arguments-container::-webkit-scrollbar,
.tabs-contents::-webkit-scrollbar {
  width: 8px;
}

.arguments-container::-webkit-scrollbar-track,
.tabs-contents::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 4px;
}

.arguments-container::-webkit-scrollbar-thumb,
.tabs-contents::-webkit-scrollbar-thumb {
  background: #4a05c9c2;
  border-radius: 4px;
}

/* Tab content styling */
.debate-tab-content {
  position: relative;
  height: auto;
  min-height: 100%;
}

.tab-content-inner {
  position: relative;
  padding-bottom: 20px; /* Breathing room at bottom */
}

/* Mobile layout adjustments */
@media (max-width: 992px) {
  .arguments-section.desktop-arguments {
    height: auto;
    min-height: auto;
  }
  
  .arguments-container {
    overflow-y: visible;
    height: auto;
  }
  
  .tabs-contents {
    overflow-y: visible;
  }
}

/* ========================================================================
   AdSense Container Styles - Home & Debate Pages
======================================================================== */

/* Base Ad Container Styles */
.ad-container {
  margin: 2rem 0;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.05);
  border: 2px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  text-align: center;
  transition: all 0.3s ease;
}

.ad-container:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 215, 0, 0.3);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* Home Page Ads (between debates) */
.home-ad-container {
  border-left: 4px solid #FFD700;
  margin: 1.5rem 0;
}

/* Debate Page Vote Section Ads */
.vote-ad-container {
  border-top: 4px solid #4a05c9c2;
  margin: 1.5rem 0;
  padding: 1.5rem;
}

/* AdSense Script Container */
.ad-container ins {
  border-radius: 8px;
  overflow: hidden;
}

/* Loading State for Ads */
.ad-container:empty::before {
  content: "Loading advertisement...";
  color: rgba(255, 255, 255, 0.6);
  font-style: italic;
  display: block;
  padding: 2rem;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 8px;
}

/* Ad Labels (Optional - for better UX) */
.ad-container::after {
  content: "Advertisement";
  display: block;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.5);
  margin-top: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Responsive Ad Styles */
@media (max-width: 768px) {
  .ad-container {
    margin: 1.5rem 0;
    padding: 0.8rem;
  }
  
  .home-ad-container {
    margin: 1rem 0;
  }
}

/* Ensure ads don't break layout */
.ad-container ins.adsbygoogle {
  display: block !important;
  margin: 0 auto;
}

/* Homepage debate boxes ad spacing */
.debate-boxes .ad-container {
  margin: 1.5rem 0;
}

/* Debate sidebar ad specific */
.debate-sidebar .vote-ad-container {
  order: 999; /* Ensure it appears at the bottom of vote section */
  margin-top: 2rem;
}

/* Mobile Optimization for Ads */
@media (max-width: 480px) {
  .ad-container {
    margin: 1rem 0;
    padding: 0.5rem;
  }
  
  .ad-container::after {
    font-size: 0.7rem;
  }
}

/* Ensure ads are visible but not intrusive */
.ad-container ins.adsbygoogle[data-ad-status="unfilled"] {
  min-height: 100px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 8px;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.ad-container ins.adsbygoogle[data-ad-status="unfilled"]::before {
  content: "Ad placeholder";
  color: rgba(255, 255, 255, 0.4);
  font-style: italic;
}

/* Animation for ad appearance */
@keyframes adFadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.ad-container {
  animation: adFadeIn 0.5s ease-out;
}

/* Print styles - hide ads when printing */
@media print {
  .ad-container {
    display: none !important;
  }
}