/* Hide My Library menu by default */
.is-logged-in .top-menu .logged-in-menu a[href="/my-library"] {
    display: none;
}
/* Hide My Library menu by default */
.is-logged-in .top-menu .logged-in-menu a[href="/my-library"] {
    display: none;
}

/* Show My Library menu when `show-my-library` class is added */
.show-my-library .is-logged-in .top-menu .logged-in-menu a[href="/my-library"] {
    display: flex !important;
}

/* Hide video channels, videos, and playlists by default */
.in-my-library a[href="/my-library/video-channels"],
.in-my-library a[href="/my-library/videos"],
.in-my-library a[href="/my-library/video-playlists"] {
    display: none;
}

/* Show specific sections when respective classes are added */
.show-channels-in-my-library a[href="/my-library/video-channels"] {
    display: flex;
}

.show-videos-in-my-library a[href="/my-library/videos"] {
    display: flex;
}

.show-playlists-in-my-library a[href="/my-library/video-playlists"] {
    display: flex;
}

/* Hide sub-menu by default */
.root .sub-menu a[href="/my-library/video-channels"],
.root .sub-menu a[href="/my-library/videos"],
.root .sub-menu a[href="/my-library/video-playlists"] {
    display: none;
}

/* Show sub-menu when `show-root` class is added */
.show-root .sub-menu a[href="/my-library/video-channels"],
.show-root .sub-menu a[href="/my-library/videos"],
.show-root .sub-menu a[href="/my-library/video-playlists"] {

    display: flex;
}

/* VAST PLUGIN STYLES */
.vjs-ad-playing.vjs-ad-playing .vjs-progress-control {
  pointer-events:none
}
.vjs-ad-playing.vjs-ad-playing .vjs-play-progress {
  background-color:#ffe400
}
.vjs-ad-loading .vjs-loading-spinner {
  display:block;
  visibility:visible
}
.vjs-ad-playing .vjs-captions-button {
  display:none
}
.vjs-ad-playing .vjs-audio-button {
  display:none
}
.vjs-ad-loading .vjs-loading-spinner:before {
  border-top-color:#fff
}
.vjs-ad-loading .vjs-loading-spinner:after {
  border-top-color:#fff;
  -webkit-animation-delay:0.44s;
  animation-delay:0.44s
}
.vjs-ad-loading .vjs-big-play-button,
.vjs-ad-loading .vjs-poster,
.vjs-ad-content-resuming .vjs-big-play-button,
.vjs-ad-content-resuming .vjs-poster {
  display:none
}

/*
Original @ https://github.com/theonion/videojs-vast-plugin (commit bf6ce85fa763299739f6a7c801b5be4b90b3b363)
*/

.vast-skip-button {
  display: block;
  position: absolute;
  top: 5px;
  right: 0;
  width: auto;
  background-color: #000;
  color: #AAA;
  font-size: 12px;
  font-style: italic;
  line-height: 12px;
  padding: 10px;
  z-index: 2;
}

.vast-skip-button.enabled {
  cursor: pointer;
  color: #fff;
}

.vast-skip-button.enabled:hover {
  cursor: pointer;
  background: #333;
}

.vast-remaining-time {
  display: block;
  position: absolute;
  bottom: 35px;
  left: 75px;
  width: auto;
  color: #aaa;
  font-size: 12px;
  font-style: italic;
  line-height: 12px;
  z-index: 2;
}

.vast-remaining-time-icon {
  position: absolute;
  bottom: 30px;
  color: #aaa !important;
  font-size: 20px !important;
  z-index: 2;
}

.vast-remaining-time-icon:focus {
  text-shadow: 0 0 1em #fff;
}

.vast-remaining-time-icon-play {
  left: 15px;
}

.vast-remaining-time-icon-mute {
  left: 40px;
}

.vjs-controls-enabled .vast-remaining-time {
  bottom: 55px;
}

.vjs-controls-enabled .vast-remaining-time-icon {
  bottom: 50px;
}

.vast-blocker {
  display: block;
  position: absolute;
  z-index: 2;
  margin: 0;
  padding: 0;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

/* ADMIN TABLE STYLES */
.armanet-table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  font-size: 16px;
  text-align: left;
}

.armanet-table th, .armanet-table td {
  border: 1px solid #ddd;
  padding: 8px;
}

.armanet-table thead th {
  font-weight: bold;
}

.armanet-table tbody tr {
  background-color: inherit;
}
.armanet-table tbody tr:nth-child(even) {
  background-color: var(--mainColorLighter, var(--greyBackgroundColor, inherit));
}

.armanet-table tbody tr:hover {
  background-color: var(--mainHoverColor, var(--bg-secondary-400, inherit));
}

.armanet-table th, .armanet-table td {
  text-align: center;
}

.armanet-table {
  border: 1px solid #ddd;
}

.armanet-button {
  display: inline-block;
  padding: 4px 13px;
  background-color: var(--primary, var(--mainColor, hsl(24, 90%, 45%)));
  font-size: 15px;
  font-weight: 600;
  line-height: 23px;
  text-align: center;
  cursor: pointer;
  border-radius: 3px;
}

.armanet-p-paginator {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.armanet-p-paginator {
  background-color: var(--bg) !important;
  position: relative;
  border: none;
  border-top: 1px solid !important;
  border-color: var(--bg-secondary-400) !important;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.p-paginator-page,
.p-paginator-next,
.p-paginator-last,
.p-paginator-first,
.p-paginator-prev,
.p-paginator-current {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  -webkit-user-select: none;
  user-select: none;
  overflow: hidden;
  position: relative;
}

.armanet-p-paginator-current {
  color: var(--fg-300);
  overflow: visible;
}

.armanet-p-paginator .p-paginator-first .p-paginator-icon,
.armanet-p-paginator .p-paginator-prev .p-paginator-icon,
.armanet-p-paginator .p-paginator-next .p-paginator-icon,
.armanet-p-paginator .p-paginator-last .p-paginator-icon {
  width: 18px;
  height: 18px;
}

.armanet-p-paginator .p-paginator-first.p-paginator-prev,
.armanet-p-paginator .p-paginator-prev.p-paginator-prev,
.armanet-p-paginator .p-paginator-next.p-paginator-prev,
.armanet-p-paginator .p-paginator-last.p-paginator-prev {
  margin-inline-end: .625rem;
}

body .armanet-p-paginator .p-paginator-first,
body .armanet-p-paginator .p-paginator-prev,
body .armanet-p-paginator .p-paginator-next,
body .armanet-p-paginator .p-paginator-last {
  color: var(--fg-300);
  height: 2.286em;
  min-width: 2.286em;
  border: 0 none;
  line-height: 2.286em;
  padding: 0;
  margin: 0;
  vertical-align: top;
  transition: box-shadow .2s;
  border-radius: 0;
}

.armanet-p-paginator .p-paginator-first {
  margin-left: auto !important;
}

.armanet-p-paginator .p-paginator-last {
  margin-right: auto !important;
}

.armanet-p-paginator .p-paginator-first,
.armanet-p-paginator .p-paginator-prev,
.armanet-p-paginator .p-paginator-next,
.armanet-p-paginator .p-paginator-last {
  padding: 5px 2px;
  height: 100%;
  outline: none;
  color: var(--fg);
}

.armanet-p-paginator .p-paginator-first:disabled,
.armanet-p-paginator .p-paginator-prev:disabled,
.armanet-p-paginator .p-paginator-next:disabled,
.armanet-p-paginator .p-paginator-last:disabled {
  opacity: .5;
}

body .armanet-p-paginator .p-paginator-pages {
  vertical-align: top;
  display: inline-block;
  padding: 0;
}

.armanet-p-paginator .p-paginator-pages {
  height: auto!important;
}

body .armanet-p-paginator .p-paginator-pages .p-paginator-page {
  color: var(--fg-300);
  height: 2.286em;
  min-width: 2.286em;
  border: 0 none;
  line-height: 2.286em;
  padding: 0;
  margin: 0;
  vertical-align: top;
  transition: box-shadow .2s;
  border-radius: 0;
}

.armanet-p-paginator .p-paginator-pages .p-paginator-page {
  color: var(--fg)!important;
  font-weight: 600!important;
  margin: 0 5px!important;
  outline: 0!important;
  border-radius: 3px!important;
  padding: 5px 2px!important;
  height: auto!important;
  line-height: initial!important;
}

.armanet-p-paginator .p-paginator-pages .p-paginator-page.p-highlight,
.armanet-p-paginator .p-paginator-pages .p-paginator-page.p-highlight:hover,
.armanet-p-paginator .p-paginator-pages .p-paginator-page.p-highlight:active,
.armanet-p-paginator .p-paginator-pages .p-paginator-page.p-highlight:focus {
  color: var(--fg)!important;
  background-color: var(--bg-secondary-500)!important;
}

.armanet-p-paginator .p-dropdown,
.armanet-p-paginator .p-dropdown-trigger {
  color: var(--fg);
  background-color: var(--bg);
}

.armanet-p-paginator .p-dropdown,
.armanet-p-paginator p-dropdown .p-dropdown {
  padding-inline-start: .5rem;
  align-items: center;
}

body .p-paginator .p-dropdown .p-dropdown-trigger,
body .p-paginator .p-dropdown .p-dropdown-label {
  color: var(--fg-300);
}

/* COMPANION STYLES */
.companion-video-holder iframe {
  max-width: 100% !important;
}

.companion-sidebar-holder iframe {
  max-width: 100% !important;
}

/* MULTI SELECT */
.armanet-multi-select {
  display: inline-block;
  position: relative;
  width: 340px;
  max-width: 340px;
  padding: 5px 20px;
}

.select-header {
  cursor: pointer;
  min-height: 25px;
}

.select-options {
  display: none;
  position: absolute;
  top: 100%;
  max-height: 50vh;
  overflow: auto;
  left: 0;
  width: 100%;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 5px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  z-index: 10;
}

.select-options label {
  display: block;
  padding: 8px 10px;
  cursor: pointer;
  margin-bottom: 0;
  font-size: inherit;
  font-weight: inherit;
}

.select-options label:hover {
  background-color: #f1f1f1;
}

.select-options input[type="checkbox"] {
  margin-right: 10px;
}.footer-copyleft {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 12px;
  line-height: 1.2;
}

.footer-links ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.footer-links li {
  display: inline-block;
  margin-right: 0;
}

.footer-links a {
  color: var(--mainForegroundColor);
  text-decoration: none;
}

.footer-links a:hover {
  text-decoration: underline;
}

/* Adjusted styles for copyright text */
.footer-copyleft li {
  margin: 5px 0;
  padding: 0;
  white-space: nowrap;
}

.footer-copyleft span {
  display: inline-block;
  padding: 3px 0;
  font-size: 11px;
  color: var(--mainForegroundColor);
}

.footer-block {
  display: none;
}


/* Hide any button containing "Interface: English" */
button:contains("Interface:") {
  display: none !important;
}/* Hide My Home link by default */
.hide-on-instance-home .on-instance a[href="/home"] {
    display: none;
}

/* Hide Local Videos link by default */
.hide-on-instance-videos .on-instance a[href="/videos/local"] {
    display: none;
}


/* Show My Home link for authenticated administrators */
.show-on-instance-home .on-instance a[href="/home"] {
    display: flex;
}

/* Show Local Videos link for authenticated administrators */
.show-on-instance-videos .on-instance a[href="/videos/local"] {
    display: flex;
}/* Plugin Scoped Styles */
.peertube-plugin-page-all-channels-container {
  width: 100%;
  background: var(--mainBackgroundColor);
  padding: 2rem 1rem;
}

.peertube-plugin-page-all-channels-content {
  width: 100%;
  max-width: 95%;
  margin: 0 auto;
  transition: max-width 0.3s ease;
}

/* Header */
.peertube-plugin-page-all-channels-header {
  margin-bottom: 2rem;
  text-align: center;
}

.peertube-plugin-page-all-channels-header h1 {
  color: var(--mainForegroundColor);
  font-size: 2.5rem;
  margin: 0;
  font-weight: 700;
}

/* Grid Layout */
.peertube-plugin-page-all-channels-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.5rem;
  width: 100%;
  justify-content: center;
}

/* Channel Card */
.peertube-plugin-page-all-channels-card {
  display: flex;
  flex-direction: column;
  background: var(--menuBackgroundColor);
  border: 1px solid var(--inputBorderColor);
  border-radius: 8px;
  overflow: hidden;
  padding: 10px;
  height: auto;
  box-sizing: border-box;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.peertube-plugin-page-all-channels-card-content {
  display: flex;
  margin-top: 10px;
}

.peertube-plugin-page-all-channels-card:hover {
  transform: translateY(-4px);
  border-color: var(--mainColor);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Card Image */
.peertube-plugin-page-all-channels-card-image {
  flex: 0 0 120px;
  margin-right: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.peertube-plugin-page-all-channels-avatar {
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid var(--inputBorderColor);
  transition: transform 0.3s ease;
}

.peertube-plugin-page-all-channels-card:hover .peertube-plugin-page-all-channels-avatar {
  transform: scale(1.05);
}

/* Card Info */
.peertube-plugin-page-all-channels-card-content {
  display: flex;
  margin-top: 10px;
}

.peertube-plugin-page-all-channels-section-label {
  display: none;
}

.peertube-plugin-page-all-channels-card-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
}

.peertube-plugin-page-all-channels-actor-display-name {
  width: 100%;
  text-align: center;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1;
}

.peertube-plugin-page-all-channels-actor-handle {
  display: none;
}

/* Only target links within our plugin's cards */
.peertube-plugin-page-all-channels-card .peertube-plugin-page-all-channels-name-link {
  color: var(--mainForegroundColor);
  text-decoration: none;
  transition: color 0.2s ease;
  display: block;
}

.peertube-plugin-page-all-channels-card .peertube-plugin-page-all-channels-name-link:hover {
  color: var(--mainHoverColor);
}

/* Stats */
.peertube-plugin-page-all-channels-actor-counters {
  display: flex;
  gap: 15px;
  font-size: 13px;
  color: var(--mainForegroundColor);
  margin-bottom: 5px;
  justify-content: flex-start;
}

.peertube-plugin-page-all-channels-channel-buttons {
  display: flex;
  justify-content: flex-start;
}

/* Subscribe Button */
.peertube-plugin-page-all-channels-subscribe-btn {
  padding: 5px 10px;
  border-radius: 4px;
  border: 1px solid var(--mainColor);
  background-color: var(--mainColor);
  color: white;
  cursor: pointer;
  font-size: 13px;
  transition: all 0.2s ease;
  max-width: 120px;
}

.peertube-plugin-page-all-channels-subscribe-btn:hover {
  background-color: transparent;
  color: var(--mainColor);
}

.peertube-plugin-page-all-channels-subscribe-btn.subscribed {
  background-color: transparent;
  color: var(--mainColor);
}

.peertube-plugin-page-all-channels-subscribe-btn.subscribed:hover {
  background-color: var(--mainColor);
  color: white;
}

/* Bold Header Template Styles */
.peertube-plugin-page-all-channels-card.bold-header {
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  border: 1px solid var(--mainColor);
}

.peertube-plugin-page-all-channels-card.bold-header:hover {
  transform: translateY(-4px);
  border-color: var(--mainColor);
  border-width: 2px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.peertube-plugin-page-all-channels-card.bold-header .card-header {
  background: var(--menuBackgroundColor);
  padding: 10px 15px;
  width: 100%;
  border-bottom: 1px solid var(--mainColor);
}

.peertube-plugin-page-all-channels-card.bold-header .card-header h3 {
  color: var(--bs-heading-color);
  text-align: center;
  width: 100%;
  margin: 0;
  font-size: 17px;
  font-weight: 600;
}

.peertube-plugin-page-all-channels-card.bold-header .card-header a {
  color: var(--bs-heading-color);
  text-decoration: none;
}

.peertube-plugin-page-all-channels-card.bold-header .card-body {
  padding: 5px;
  padding-bottom: 5px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.peertube-plugin-page-all-channels-card.bold-header .card-layout {
  display: flex;
  margin-bottom: 0;
  padding: 10px;
}

.peertube-plugin-page-all-channels-card.bold-header .peertube-plugin-page-all-channels-card-image {
  flex: 0 0 120px;
  margin-right: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.peertube-plugin-page-all-channels-card.bold-header .card-details {
  flex: 1;
  margin-left: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding: 5px 0;
}

.peertube-plugin-page-all-channels-card.bold-header .peertube-plugin-page-all-channels-actor-counters {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 0;
  gap: 3px;
  padding-left: 0;
  height: 100%;
  justify-content: space-between;
}

.peertube-plugin-page-all-channels-card.bold-header .stat-line {
  display: flex;
  align-items: center;
  width: 100%;
  position: relative;
  margin-bottom: 0;
  padding-left: 10%;
}

.peertube-plugin-page-all-channels-card.bold-header .stat-value {
  font-weight: 600;
  font-size: 15px;
  color: var(--mainForegroundColor);
  display: inline-block;
  min-width: 30px;
  width: 30px;
  text-align: right;
  margin-left: 10%;
  margin-right: 0;
}

.peertube-plugin-page-all-channels-card.bold-header .stat-label {
  font-size: 14px;
  color: var(--mainForegroundColor);
  text-align: left;
  padding-left: 8px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.peertube-plugin-page-all-channels-card.bold-header .peertube-plugin-page-all-channels-channel-buttons {
  display: flex;
  justify-content: flex-start;
  margin-top: 0;
  width: 100%;
  padding-left: 10%;
}

.peertube-plugin-page-all-channels-card.bold-header .peertube-plugin-page-all-channels-subscribe-btn {
  width: 80%;
  max-width: none;
  display: block;
  text-align: center;
}

.peertube-plugin-page-all-channels-card.bold-header .peertube-plugin-page-all-channels-avatar {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 8px;
  transition: transform 0.3s ease;
}

/* Processing state for subscription button */
.peertube-plugin-page-all-channels-subscribe-btn.processing {
  position: relative;
  overflow: hidden;
}

.peertube-plugin-page-all-channels-subscribe-btn.processing::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.2),
    transparent
  );
  animation: processing-animation 1.5s infinite;
}

@keyframes processing-animation {
  0% {
    left: -100%;
  }
  50% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}

/* Responsive Design */
@media screen and (min-width: 1800px) {
  .peertube-plugin-page-all-channels-content {
    max-width: 98%;
  }
  
  .peertube-plugin-page-all-channels-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  }
}

@media screen and (max-width: 1800px) and (min-width: 1400px) {
  .peertube-plugin-page-all-channels-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.5rem;
  }
}

@media screen and (max-width: 1400px) and (min-width: 1200px) {
  .peertube-plugin-page-all-channels-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.5rem;
  }
}

@media screen and (max-width: 1200px) and (min-width: 800px) {
  .peertube-plugin-page-all-channels-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.5rem;
  }
}

@media screen and (max-width: 800px) {
  .peertube-plugin-page-all-channels-container {
    padding: 1.5rem var(--horizontalMarginContent);
  }

  .peertube-plugin-page-all-channels-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  
  .peertube-plugin-page-all-channels-card {
    flex-direction: column;
    height: auto !important;
    max-height: none !important;
    min-height: auto !important;
    padding: 10px;
  }
  
  .peertube-plugin-page-all-channels-card-image {
    margin-right: 0;
    margin-bottom: 10px;
    justify-content: center;
  }
  
  .peertube-plugin-page-all-channels-card-info {
    height: auto;
    max-height: none;
  }
  
  .peertube-plugin-page-all-channels-header h1 {
    font-size: 2rem;
  }
  
  /* Bold Header mobile styles */
  .peertube-plugin-page-all-channels-card.bold-header {
    padding: 0;
  }
  
  .peertube-plugin-page-all-channels-card.bold-header .card-layout {
    flex-direction: column;
    align-items: center;
  }
  
  .peertube-plugin-page-all-channels-card.bold-header .peertube-plugin-page-all-channels-card-image {
    margin-right: 0;
    margin-bottom: 10px;
  }
  
  .peertube-plugin-page-all-channels-card.bold-header .card-details {
    margin-left: 0;
    width: 100%;
    padding: 5px;
  }
  
  /* Reduced spacing in card details for mobile only */
  .peertube-plugin-page-all-channels-card.bold-header .peertube-plugin-page-all-channels-actor-counters {
    width: 100%;
    margin-bottom: 0;
    flex-direction: column;
    gap: 6px;
    padding-left: 0;
    align-items: center;
  }
  
  .peertube-plugin-page-all-channels-card.bold-header .stat-line,
  .peertube-plugin-page-all-channels-card.bold-header .date-line,
  .peertube-plugin-page-all-channels-card.bold-header .peertube-plugin-page-all-channels-channel-buttons {
    width: 80%;
    padding-left: 0;
    justify-content: center;
    margin: 0;
  }
  
  .peertube-plugin-page-all-channels-card.bold-header .date-label {
    font-size: 13px;
    text-align: center;
  }
}

@media screen and (max-width: 500px) {
  .peertube-plugin-page-all-channels-grid {
    grid-template-columns: 1fr;
  }
  
  .peertube-plugin-page-all-channels-card {
    flex-direction: column;
    height: auto !important;
    max-height: none !important;
    min-height: auto !important;
  }
  
  .peertube-plugin-page-all-channels-card-image {
    margin-right: 0;
    margin-bottom: 10px;
    justify-content: center;
  }
  
  .peertube-plugin-page-all-channels-card-info {
    height: auto;
    max-height: none;
  }
}

/* Add new styles for pagination, loading, search, and responsive layout */

/* Loading state */
.loading-page {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 300px;
  width: 100%;
}

.loader {
  border: 5px solid var(--inputBorderColor);
  border-top: 5px solid var(--mainColor);
  border-radius: 50%;
  width: 50px;
  height: 50px;
  animation: spin 1s linear infinite;
  margin-bottom: 20px;
}

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

.loading-text {
  font-size: 18px;
  color: var(--mainForegroundColor);
}

/* Error state */
.error-page {
  text-align: center;
  padding: 50px 20px;
}

.retry-button {
  background-color: var(--mainColor);
  color: #fff;
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  margin-top: 20px;
}

.retry-button:hover {
  background-color: var(--mainHoverColor);
}

/* Filters and search */
.peertube-plugin-page-all-channels-filters {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  flex-wrap: wrap;
  gap: 15px;
  background: var(--submenuBackgroundColor);
  padding: 15px;
  border-radius: 8px;
}

.peertube-plugin-page-all-channels-search {
  flex: 1;
  min-width: 200px;
}

.peertube-plugin-page-all-channels-search input {
  padding: 8px 12px;
  border: 1px solid var(--inputBorderColor);
  border-radius: 4px;
  font-size: 14px;
  width: 100%;
  max-width: 300px;
  background-color: var(--inputBackgroundColor);
  color: var(--inputForegroundColor);
}

.peertube-plugin-page-all-channels-sort {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.peertube-plugin-page-all-channels-sort label {
  font-size: 14px;
  color: var(--mainForegroundColor);
  font-weight: 500;
}

.peertube-plugin-page-all-channels-sort select {
  padding: 8px 12px;
  border: 1px solid var(--inputBorderColor);
  border-radius: 4px;
  font-size: 14px;
  background-color: var(--inputBackgroundColor);
  color: var(--inputForegroundColor);
  min-width: 150px;
}

/* Enhanced sorting UI */
.sort-options-container {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  align-items: center;
}

.sort-option {
  display: flex;
  align-items: center;
  gap: 5px;
}

.sort-direction {
  margin-left: 10px;
}

/* Pagination */
.peertube-plugin-page-all-channels-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 30px 0;
  gap: 10px;
}

.pagination-pages {
  display: flex;
  align-items: center;
  gap: 5px;
}

.pagination-button {
  background-color: var(--mainBackgroundColor);
  color: var(--mainForegroundColor);
  border: 1px solid var(--inputBorderColor);
  border-radius: 4px;
  padding: 6px 12px;
  font-size: 14px;
  cursor: pointer;
  min-width: 40px;
  text-align: center;
}

.pagination-button.page-number.active {
  background-color: var(--mainColor);
  color: white;
  border-color: var(--mainColor);
}

.pagination-button:hover:not(.disabled):not(.active) {
  background-color: var(--inputBorderColor);
}

.pagination-button.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.pagination-ellipsis {
  padding: 0 5px;
}

.channels-count {
  margin-bottom: 15px;
  font-size: 14px;
  color: var(--greyForegroundColor);
}

/* Improved responsive layout */
@media (max-width: 1200px) {
  .peertube-plugin-page-all-channels-grid {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  }
}

@media (max-width: 768px) {
  .peertube-plugin-page-all-channels-grid {
    grid-template-columns: 1fr;
  }
  
  .peertube-plugin-page-all-channels-filters {
    flex-direction: column;
    align-items: flex-start;
  }
  
  .peertube-plugin-page-all-channels-search input {
    width: 100%;
    max-width: none;
  }
  
  .peertube-plugin-page-all-channels-sort {
    width: 100%;
  }
  
  .sort-options-container {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
  }
  
  .sort-option {
    width: 100%;
  }
}

/* Empty state */
.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 50px 20px;
  text-align: center;
}

/* Existing style improvements */
.peertube-plugin-page-all-channels-container {
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding: 20px 1rem;
}

.peertube-plugin-page-all-channels-title {
  font-size: 24px;
  margin-bottom: 25px;
  color: var(--mainForegroundColor);
}

/* Fix for the channel card stats with the new styles */
.peertube-plugin-page-all-channels-card.bold-header .stat-line {
  display: flex;
  align-items: center;
  width: 100%;
  position: relative;
  padding-left: 0;
  gap: 2px;

}

.peertube-plugin-page-all-channels-card.bold-header .stat-value {
  font-weight: 600;
  font-size: 15px;
  color: var(--mainForegroundColor);
  display: inline-block;
  min-width: 30px;
  width: 30px;
  text-align: right;
  margin-left: 10%;
  margin-right: 0;
}

.peertube-plugin-page-all-channels-card.bold-header .stat-label {
  font-size: 14px;
  color: var(--mainForegroundColor);
  text-align: left;
  padding-left: 8px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.peertube-plugin-page-all-channels-card.bold-header .peertube-plugin-page-all-channels-actor-counters {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  margin: 0;
  gap: 6px;
}

/* Mobile view adjustments */
@media screen and (max-width: 800px) {
  .peertube-plugin-page-all-channels-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .peertube-plugin-page-all-channels-card.bold-header {
    max-width: 100%;
  }
  
  .peertube-plugin-page-all-channels-card.bold-header .card-layout {
    flex-direction: column;
    align-items: center;
    padding: 10px;
  }
  
  .peertube-plugin-page-all-channels-card.bold-header .peertube-plugin-page-all-channels-card-image {
    margin-right: 0;
    margin-bottom: 10px;
    width: 120px;
  }
  
  .peertube-plugin-page-all-channels-card.bold-header .card-details {
    width: 100%;
    align-items: center;
    padding: 0;
  }
  
  .peertube-plugin-page-all-channels-card.bold-header .peertube-plugin-page-all-channels-actor-counters {
    align-items: flex-start;
    width: 100%;
    padding: 0;
    gap: 6px;
  }
  
  .peertube-plugin-page-all-channels-card.bold-header .stat-line,
  .peertube-plugin-page-all-channels-card.bold-header .date-line,
  .peertube-plugin-page-all-channels-card.bold-header .peertube-plugin-page-all-channels-channel-buttons {
    width: 80%;
    padding-left: 0;
    justify-content: center;
    margin: 0;
  }
  
  .peertube-plugin-page-all-channels-card.bold-header .date-label {
    font-size: 13px;
  }
}

/* Add styles for button and RSS icon */
.peertube-plugin-page-all-channels-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.2s ease;
}

.peertube-plugin-page-all-channels-button.primary {
  background-color: var(--mainColor);
  color: white;
  border: 1px solid var(--mainColor);
  min-width: 100px;
}

.peertube-plugin-page-all-channels-button.primary:hover {
  background-color: var(--mainHoverColor);
  border-color: var(--mainHoverColor);
}

.peertube-plugin-page-all-channels-button.secondary {
  background-color: transparent;
  color: var(--mainForegroundColor);
  border: 1px solid var(--inputBorderColor);
  margin-left: 8px;
  padding: 8px;
}

.peertube-plugin-page-all-channels-button.secondary:hover {
  background-color: var(--inputBorderColor);
}

/* Add styles for date statistics */
.peertube-plugin-page-all-channels-card.bold-header .date-line {
  margin-top: 0;
  margin-bottom: 0;
  width: 100%;
  justify-content: flex-start;
  padding-left: 10%;
}

.peertube-plugin-page-all-channels-card.bold-header .date-label {
  font-size: 14px;
  color: var(--mainForegroundColor);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-left: 0;
  padding-left: 8px;
}

/* Mobile view adjustments for date elements */
@media screen and (max-width: 800px) {
  .peertube-plugin-page-all-channels-card.bold-header .date-line {
    margin-top: 1px;
    margin-bottom: 0;
    padding-left: 0;
    justify-content: center;
    width: 80%;
  }
  
  .peertube-plugin-page-all-channels-card.bold-header .date-label {
    font-size: 13px;
  }
}

/* Go To Channel button - similar styling to subscribe button */
.peertube-plugin-page-all-channels-goto-btn {
  padding: 5px 10px;
  border-radius: 4px;
  border: 1px solid var(--mainColor);
  background-color: transparent;
  color: var(--mainColor);
  cursor: pointer;
  font-size: 13px;
  transition: all 0.2s ease;
  display: block;
  text-align: center;
  text-decoration: none;
  width: 80%;
  max-width: none;
}

.peertube-plugin-page-all-channels-goto-btn:hover {
  background-color: var(--mainColor);
  color: white;
}

/* Bold Header Template Styles - Actor counters */
.peertube-plugin-page-all-channels-card.bold-header .peertube-plugin-page-all-channels-actor-counters {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 0;
  gap: 10px; /* Slightly increased gap for better spacing */
  padding-left: 0;
  height: 100%;
  justify-content: center; /* Center vertically */
  align-items: center; /* Center horizontally */
}

.peertube-plugin-page-all-channels-card.bold-header .stat-line {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  position: relative;
  margin-bottom: 0;
  padding-left: 0;
}

.peertube-plugin-page-all-channels-card.bold-header .stat-value {
  font-weight: 600;
  font-size: 15px;
  color: var(--mainForegroundColor);
  display: inline-block;
  min-width: 30px;
  width: 30px;
  text-align: right;
  margin-right: 8px;
}

.peertube-plugin-page-all-channels-card.bold-header .stat-label {
  font-size: 14px;
  color: var(--mainForegroundColor);
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Standardize spacing for buttons */
.peertube-plugin-page-all-channels-card.bold-header .peertube-plugin-page-all-channels-channel-buttons {
  display: flex;
  justify-content: center;
  margin: 0;
  width: 100%;
  padding: 0;
}

.peertube-plugin-page-all-channels-card.bold-header .peertube-plugin-page-all-channels-subscribe-btn {
  width: 80%;
  max-width: none;
  display: block;
  text-align: center;
}

/* Mobile view adjustments */
@media screen and (max-width: 800px) {
  .peertube-plugin-page-all-channels-card.bold-header .peertube-plugin-page-all-channels-actor-counters {
    gap: 8px;
    align-items: center;
    justify-content: center;
  }
  
  .peertube-plugin-page-all-channels-card.bold-header .stat-line,
  .peertube-plugin-page-all-channels-card.bold-header .peertube-plugin-page-all-channels-channel-buttons {
    width: 80%;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
  }
  
  .peertube-plugin-page-all-channels-card.bold-header .card-details {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
  
  .peertube-plugin-page-all-channels-goto-btn,
  .peertube-plugin-page-all-channels-card.bold-header .peertube-plugin-page-all-channels-subscribe-btn {
    width: 100%;
  }
}

/* Centered videos stat */
.peertube-plugin-page-all-channels-card.bold-header .centered-stat {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-bottom: 5px;
}

.peertube-plugin-page-all-channels-card.bold-header .centered-stat .stat-value {
  font-weight: 600;
  font-size: 16px;
  color: var(--mainForegroundColor);
  display: inline-block;
  margin: 0;
  margin-right: 4px; /* Reduced space between number and text */
}

.peertube-plugin-page-all-channels-card.bold-header .centered-stat .stat-label {
  font-size: 14px;
  color: var(--mainForegroundColor);
  white-space: nowrap;
  margin-left: 0px;
  padding-left: 0px;
} .shop-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  cursor: pointer !important;
  color: var(--mainColor, #bba777) !important;
  font-weight: 500 !important;
  padding: 0 6px !important;
  border-radius: 4px !important;
  transition: opacity 0.2s ease !important;
  vertical-align: middle !important;
  line-height: 1 !important;
}

.shop-button:hover {
  opacity: 0.8 !important;
}

.shop-button svg {
  width: 14px !important;
  height: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  top: -1px !important;
}

.shop-button .shop-text {
  position: relative !important;
  top: -1px !important;
}

.mobile-products-modal {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-color: rgba(0,0,0,0.7) !important;
  z-index: 9999 !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding-top: 60px !important;
}

.mobile-products-container {
  width: 95% !important;
  max-width: 600px !important;
  max-height: 80vh !important;
  background-color: var(--mainBackgroundColor, #121212) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  margin-top: 10px !important;
}

.mobile-products-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--mainColorLighter, #52525b) !important;
}

.mobile-products-title {
  margin: 0 !important;
  font-size: 18px !important;
}

.mobile-products-close {
  border: none !important;
  background: none !important;
  font-size: 24px !important;
  cursor: pointer !important;
  color: var(--mainForegroundColor, #ffffff) !important;
}

.mobile-products-body {
  padding: 16px !important;
  overflow-y: auto !important;
  max-height: calc(90vh - 60px) !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
}

.mobile-product-card {
  display: flex !important;
  width: 100% !important;
  border: 1px solid var(--mainColorLighter, #52525b) !important;
  border-radius: 8px !important;
  padding: 8px !important;
  text-decoration: none !important;
  color: inherit !important;
  background-color: var(--mainBackgroundColor, #121212) !important;
  transition: transform 0.2s !important;
}

.mobile-product-card:hover {
  transform: translateY(-2px) !important;
}

.mobile-product-image {
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
  border-radius: 4px !important;
  margin-right: 12px !important;
}

.mobile-product-info {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

.mobile-product-title {
  font-weight: 500 !important;
  font-size: 15px !important;
  margin-bottom: 4px !important;
  line-height: 1.2 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.mobile-product-price {
  font-weight: bold !important;
  color: var(--mainColor, #bba777) !important;
  font-size: 16px !important;
}

.mobile-product-site {
  font-size: 12px !important;
  color: var(--greyForegroundColor, #52525b) !important;
}

.mobile-auto-ads-container {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background-color: var(--mainBackgroundColor, #121212) !important;
  margin-top: 10px !important;
  margin-bottom: 30px !important;
  border-radius: 4px !important;
  padding-top: 10px !important;
  box-sizing: border-box !important;
  display: block !important;
  position: relative !important;
  z-index: 10 !important;
  height: auto !important;
  min-height: 190px !important;
  overflow: visible !important;
}

.rotating-product-card {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 600px !important;
  border: 1px solid var(--mainColorLighter, #52525b) !important;
  border-radius: 8px !important;
  padding: 0 !important;
  text-decoration: none !important;
  color: inherit !important;
  background-color: var(--mainBackgroundColor, #121212) !important;
  position: absolute !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  height: 110px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  will-change: transform, opacity !important;
  transition: opacity 0.3s ease, transform 0.3s ease !important;
}

.rotating-product-container {
  position: relative !important;
  height: 110px !important;
  overflow: visible !important;
  width: 100% !important;
  display: block !important;
}

.product-indicator-dots {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 15px !important;
  padding: 5px 0 !important;
  position: relative !important;
  bottom: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  z-index: 9999 !important;
}

.carousel-pagination {
  display: flex !important;
  justify-content: center !important;
  gap: 12px !important;
  margin: 0 auto !important;
  margin-top: 0 !important;
  margin-bottom: 10px !important;
  width: 90% !important;
  z-index: 99999 !important;
  position: relative !important;
  padding: 5px 0 !important;
  pointer-events: auto !important;
  background-color: rgba(0, 0, 0, 0.2) !important;
  border-radius: 10px !important;
  height: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Make pagination dots extremely visible */
.pagination-dot {
  width: 12px !important;
  height: 12px !important;
  min-width: 12px !important;
  min-height: 12px !important;
  border-radius: 50% !important;
  background-color: #888 !important;
  transition: all 0.3s ease !important;
  display: block !important;
  border: 2px solid white !important;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5) !important;
  pointer-events: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  margin: 0 4px !important;
}

.pagination-dot.active {
  background-color: #bba777 !important; /* Changed to gold theme color */
  transform: scale(1.3) !important;
  opacity: 1 !important;
  border-color: white !important;
  box-shadow: 0 0 8px rgba(187, 167, 119, 0.8) !important; /* Updated glow to match gold color */
}

/* Keyframe animations for modal */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes fadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}

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

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

/* Mobile button styles */
.mobile-shop-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #bba777 !important;
  color: white !important;
  border: none !important;
  border-radius: 20px !important;
  padding: 6px 12px !important;
  margin-left: 10px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  z-index: 99999 !important;
  font-family: 'Lato', sans-serif !important;
  line-height: 1.2 !important;
  height: auto !important;
  max-height: none !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  width: auto !important;
  min-width: 70px !important;
  position: relative !important;
}

/* Auto-ads indicator dots */
.rotating-product-indicator-dots {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 110px !important;
  margin-bottom: 10px !important;
  padding: 10px 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 9999 !important;
  background-color: transparent !important;
}

.rotating-dot {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background-color: var(--greyForegroundColor, #52525b) !important;
  opacity: 0.5 !important;
  transition: all 0.2s ease !important;
  min-width: 10px !important;
  min-height: 10px !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
}

.rotating-dot.active {
  background-color: var(--mainColor, #bba777) !important;
  opacity: 1 !important;
  transform: scale(1.2) !important;
}

/* Desktop carousel styles based on desktop plugin */
.product-carousel-container {
  position: relative;
  width: 100%;
  max-width: 100%;
  padding: 0 40px;
  overflow: hidden;
  box-sizing: border-box;
  margin-bottom: 20px;
  margin-right: 0;
  margin-left: 0;
}

.product-carousel {
  display: flex;
  gap: 15px;
  width: 100%;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  padding: 0;
  margin: 0;
  position: relative;
  z-index: 1;
}

.product-carousel::-webkit-scrollbar {
  display: none;
}

.nav-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  background-color: var(--mainBackgroundColor);
  border: 1px solid var(--mainForegroundColor);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  z-index: 2;
  font-size: 24px;
  line-height: 1;
  padding: 0;
  color: var(--mainForegroundColor);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.nav-arrow.prev {
  left: 0px;
}

.nav-arrow.next {
  right: 0px;
}

.nav-arrow:hover {
  background-color: var(--submenuBackgroundColor);
  color: var(--mainColor);
}

.nav-arrow:focus {
  outline: 2px solid var(--mainColor);
  outline-offset: 2px;
}

.nav-arrow:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.product-card {
  flex: 0 0 225px;
  width: 225px;
  min-width: 225px;
  max-width: 225px;
  height: 110px;
  display: flex;
  align-items: center;
  border: 1px solid var(--mainForegroundColor);
  border-radius: 8px;
  padding: 10px;
  transition: transform 0.3s ease;
  text-decoration: none;
  color: inherit;
  background: var(--mainBackgroundColor);
  position: relative;
  z-index: 1;
}

.product-card:hover {
  border-color: var(--mainColor);
}

.product-image {
  width: 90px;
  height: 90px;
  object-fit: cover;
  border-radius: 4px 0 0 4px;
}

.product-info {
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: calc(100% - 90px);
}

.product-title {
  font-size: 12px;
  line-height: 1.2;
  margin: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  white-space: normal;
}

.product-price {
  font-size: 12px;
  font-weight: bold;
  color: var(--mainColor);
  margin: 0;
}

.product-site {
  font-size: 11px;
  color: var(--greyForegroundColor);
  margin: 0;
}

@media screen and (max-width: 1100px) {
  .product-carousel-container {
    padding: 0 70px;
  }
}

@media screen and (max-width: 600px) {
  .product-carousel-container {
    padding: 0 60px;
  }
  
  .product-carousel {
    gap: 10px;
  }
  
  .nav-arrow.prev {
    left: 0px;
  }
  
  .nav-arrow.next {
    right: 0px;
  }
} /* Hide language selection elements */
my-select-languages,
div[formcontrolname="language"],
div.form-group:has(label[for="languageOneOf"]),
div.form-group:has(label[for="language"]) {
  display: none !important;
}

/* Hide language settings link */
.update-your-settings {
  display: none !important;
} /**
 * Greyhive Landing Page - Main Stylesheet
 * Consolidated from multiple CSS files to match the original HTML design
 */

/* Font Imports - Load Roboto Slab first */
@import url('https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;600;700;800&family=Roboto+Slab:wght@400;600&family=Archivo:wght@600;800&display=swap');

/* Target Website CSS Variables */
:root {
  --e-global-color-primary: #BBA777;
  --e-global-color-accent: #00A3E0;
  --e-global-color-secondary: #54595F;
  --e-global-color-text: #7A7A7A;
  --e-global-color-049e015: #BBA777;
  --e-global-typography-primary-font-family: "Roboto";
  --e-global-typography-primary-font-weight: 600;
  --e-global-typography-secondary-font-family: "Roboto Slab";
  --e-global-typography-secondary-font-weight: 400;
  --e-global-typography-text-font-family: "Roboto";
  --e-global-typography-text-font-weight: 400;
  --e-global-typography-accent-font-family: "Roboto";
  --e-global-typography-accent-font-weight: 500;
  --border-transition: 0.3s;
  --e-a-color-danger: #dc2626;
  --e-a-color-white: #fff;
  --e-a-color-black: #000;
  --e-a-font-family: Roboto,Arial,Helvetica,sans-serif;
}

/* Reset and Base Styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Roboto', sans-serif;
  line-height: 1.6;
  color: #FFFFFF;
  background-color: #111013;
}

/* Utility Classes */
.desktop-only {
  display: block !important;
}

.mobile-only {
  display: none !important;
}

/* Specific rules for section headers */
.section-header.desktop-only {
  display: block !important;
}

.section-header.mobile-only {
  display: none !important;
}

/* Hero Section */
.hero-section {
  position: relative;
  background-image: url('../static/images/Landing_Page_960x960-Range_.jpg');
  background-position: center center;
  background-attachment: scroll;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 100vh;
  padding: 100px 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  width: 100%;
  max-width: none !important;
}

/* Dark overlay to make text stand out */
.hero-section::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1;
}

/* Fallback background in case image doesn't load */
.hero-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #2d1810 0%, #4a2a1a 50%, #2d1810 100%);
  z-index: -2;
}

.hero-content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1400px !important;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

.hero-title {
  font-family: 'Roboto', sans-serif !important;
  font-size: 65px !important;
  font-weight: 800 !important;
  color: #BBA777 !important;
  margin-bottom: 20px !important;
  line-height: 1.2 !important;
  text-align: center !important;
}

/* Hero Subtitle - Natural Text Flow */
.hero-subtitle {
  font-family: "Roboto", Sans-serif !important;
  font-size: 40px !important;
  font-weight: 600 !important;
  color: #FBFBFB !important;
  margin-bottom: 30px !important;
  line-height: 1.2 !important;
  text-align: center !important;
  max-width: 1400px !important;
  margin: 20px auto 30px auto !important;
  box-sizing: border-box !important;
  padding: 0 20px !important;
  width: 100% !important;
  white-space: normal !important;
  word-wrap: break-word !important;
}

/* Ensure no hardcoded line breaks interfere with natural flow */
.hero-subtitle br {
  display: none !important; /* Hide any hardcoded line breaks */
}

/* Remove any conflicting styles from elementor or other sources */
.landing-content .hero-subtitle,
.landing-content h2.hero-subtitle,
.landing-content .elementor-heading-title {
  font-family: "Roboto", Sans-serif !important;
  font-size: 40px !important;
  font-weight: 600 !important;
  color: #FBFBFB !important;
  line-height: 1.2 !important;
  text-align: center !important;
  max-width: 1200px !important;
  margin: 20px auto 30px auto !important;
  white-space: normal !important;
  word-wrap: break-word !important;
  width: 90% !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
}

/* Remove line breaks from any elementor titles in hero */
.landing-content .elementor-heading-title br {
  display: none !important;
}

/* Updated Hero Banner styling to match target */
.heroBanner {
  background-image: url('../static/images/Landing_Page_960x960-Range_.jpg');
  background-position: center center;
  background-attachment: scroll;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 100vh;
  padding: 100px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.elementor-heading-title {
  font-family: "Roboto", Sans-serif !important;
  font-size: 40px !important;
  font-weight: 600 !important;
  color: #FBFBFB !important;
  margin-bottom: 30px !important;
  line-height: 1.2 !important;
  text-align: center !important;
  max-width: 861px;
  margin: 20px auto 30px auto;
  box-sizing: border-box;
  padding: 0;
  white-space: normal !important;
  word-wrap: break-word !important;
}

/* Remove line breaks from elementor titles */
.elementor-heading-title br {
  display: none !important;
}

.heroBanner_upperText h2:first-child {
  font-family: 'Roboto', sans-serif !important;
  font-size: 65px !important;
  font-weight: 800 !important;
  color: #BBA777 !important;
  margin-bottom: 20px !important;
  line-height: 1.2 !important;
  text-align: center !important;
}

.heroBanner_upperText .signup-btn {
  display: inline-block !important;
  font-family: 'Roboto', sans-serif !important;
  font-weight: 700 !important;
  color: #000000 !important;
  background-color: #BBA777 !important;
  padding: 20px 55px !important;
  text-decoration: none !important;
  border-radius: 5px !important;
  border: none !important;
  margin-top: 30px !important;
  transition: all 0.3s ease !important;
  text-transform: none !important;
  font-size: 16px !important;
}

/* Video Community Section */
.video-community-section {
  background-color: #141414;
  padding: 25px 0;
  text-align: center;
}

.video-community-section h2 {
  font-family: 'Roboto', sans-serif !important;
  font-size: 44px !important;
  font-weight: 800 !important;
  color: #BBA777 !important;
  text-align: center !important;
  margin: 0 !important;
  padding: 0 !important;
  margin-bottom: .5rem !important;
  background: none !important;
  border: none !important;
  line-height: 1.2 !important;
}

/* Home for freedom-loving Americans Section */
.freedom-section {
  background-color: #141414;
  padding: 60px 5%;
  text-align: left;
  /* Add template-matching CSS variables */
  --e-con-grid-template-columns: repeat(2,1fr);
  --e-con-grid-template-rows: repeat(2,1fr);
  --display: flex;
  --flex-direction: row;
  --justify-content: space-between;
  --align-items: stretch;
  --gap: 0px 0px;
  --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );
  --container-widget-flex-grow: 1;
  --flex-wrap: initial;
  --margin-left: auto;
  --margin-right: auto;
  --padding-top: 3%;
  --padding-bottom: 5%;
  --padding-left: 5%;
  --padding-right: 5%;
}

.freedom-section h2:not(.freedom-title) {
  font-family: 'Roboto', sans-serif !important;
  font-size: 44px !important;
  font-weight: 800 !important;
  color: #BBA777 !important;
  text-align: center !important;
  margin: 0 0 40px 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  line-height: 1.2 !important;
}

.freedom-content {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: stretch;
  gap: 40px;
  max-width: 1140px;
  margin: 0 auto;
  width: 100%;
}

.freedom-text {
  flex: 0 0 30%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  text-align: left;
  padding-right: 20px;
}

.freedom-section .freedom-title {
  font-family: "Roboto Slab", Sans-serif !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  color: #BBA777 !important;
  line-height: 1.2 !important;
  margin: 0 0 20px 0 !important;
  text-align: left !important;
}

.freedom-subtitle {
  font-family: "Roboto", sans-serif !important;
  font-size: 40px !important;
  font-weight: 600 !important;
  color: #FAFAFA !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  text-align: left !important;
}

.value-cards {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 30px;
  width: 100%;
  min-height: 600px;
}

.value-card {
  position: relative;
  background-color: #333;
  padding: 0;
  border-radius: 8px;
  overflow: hidden;
  min-height: 280px;
  display: flex;
  flex-direction: column;
  animation: fadeInUp 2s ease;
  animation-fill-mode: both;
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.3s ease;
}

.value-card.animate-in {
  opacity: 1;
  transform: translateY(0);
}

.value-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.card-bg {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 150px;
  z-index: 1;
  overflow: hidden;
}

.card-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card-content {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 20px;
  background-color: #333;
  z-index: 2;
}

.card-title {
  font-family: 'Archivo', sans-serif !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  color: #FFFFFF !important;
  text-transform: uppercase !important;
  margin: 0 0 15px 0 !important;
  line-height: 1.2 !important;
  letter-spacing: 1.5px !important;
  position: relative !important;
  z-index: 2 !important;
  background: none !important;
  border: none !important;
}

.card-description {
  padding: 0;
  background-color: transparent;
  position: relative;
  z-index: 2;
  margin-top: auto;
}

.card-description p {
  font-family: 'Roboto', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #CFCFCF !important;
  margin: 0 !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

.value-card:nth-child(1) { animation-delay: 0.15s; }
.value-card:nth-child(2) { animation-delay: 0.15s; }
.value-card:nth-child(3) { animation-delay: 0.15s; }
.value-card:nth-child(4) { animation-delay: 0.15s; }

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

/* Instructors Section */
.instructors-section {
  background-color: #141414;
  padding: 2% 5% 2% 5%;
  max-width: 1700px;
  margin: 0 auto;
}

.section-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr;
  align-items: center;
  margin-bottom: 20px;
}

.section-header h2 {
  font-family: 'Roboto Slab', serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: #FFFFFF !important;
  text-align: left !important;
  margin: 0 !important;
}

.see-all-link {
  font-family: 'Roboto', sans-serif !important;
  color: #BBA777 !important;
  text-decoration: none !important;
  text-align: right !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  transition: color 0.3s ease !important;
}

.see-all-link:hover {
  color: #CFCFCF;
}

.instructor-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: 1fr;
  gap: 20px;
}

.instructor-card {
  position: relative;
  overflow: hidden;
  border-radius: 5px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: pointer;
}

.instructor-card:hover {
  transform: translateY(-5px) scale(1.02);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.instructor-bg {
  width: 100%;
  height: 230px;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease, filter 0.3s ease;
}

.instructor-card:hover .instructor-bg {
  transform: scale(1.1);
  filter: brightness(1.1) contrast(1.1);
}

.instructor-card h3 {
  position: absolute;
  bottom: 15px;
  left: 18px;
  right: 50px;
  font-family: 'Archivo', sans-serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  color: #FFFFFF !important;
  line-height: 1.2 !important;
  letter-spacing: 1px !important;
  margin: 0 !important;
  transition: transform 0.3s ease, text-shadow 0.3s ease;
  z-index: 2;
}

.instructor-card:hover h3 {
  transform: translateY(-3px);
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.8);
}

/* Add overlay effect on hover */
.instructor-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(187, 167, 119, 0.1) 0%, rgba(0, 0, 0, 0.3) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.instructor-card:hover::after {
  opacity: 1;
}

.see-all-mobile {
  text-align: right;
  margin-top: 20px;
}

/* Creators Section */
.creators-section {
  background-color: #141414;
  padding: 1% 5% 2% 5%;
  max-width: 1700px;
  margin: 0 auto;
}

.creator-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: 1fr;
  gap: 20px;
}

.creator-card {
  position: relative;
  overflow: hidden;
  border-radius: 5px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: pointer;
}

.creator-card:hover {
  transform: translateY(-5px) scale(1.02);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.creator-bg {
  width: 100%;
  height: 230px;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease, filter 0.3s ease;
}

.creator-card:hover .creator-bg {
  transform: scale(1.1);
  filter: brightness(1.1) contrast(1.1);
}

.creator-card h3 {
  position: absolute;
  bottom: 15px;
  left: 18px;
  right: 50px;
  font-family: 'Archivo', sans-serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  color: #FFFFFF !important;
  line-height: 1.2 !important;
  letter-spacing: 1px !important;
  margin: 0 !important;
  transition: transform 0.3s ease, text-shadow 0.3s ease;
  z-index: 2;
}

.creator-card:hover h3 {
  transform: translateY(-3px);
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.8);
}

/* Add overlay effect on hover */
.creator-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(187, 167, 119, 0.1) 0%, rgba(0, 0, 0, 0.3) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.creator-card:hover::after {
  opacity: 1;
}

/* Join Section */
.join-section {
  background-color: #111111;
  padding: 2% 0 10% 0;
  width: 80%;
  margin: 0 auto;
}

.join-content {
  display: flex;
  gap: 0;
  align-items: stretch;
  margin-top: 50px;
}

.join-text {
  flex: 1;
  padding: 0 30px 0 0;
}

.join-text h2 {
  font-family: 'Roboto', sans-serif !important;
  font-size: 48px !important;
  font-weight: 600 !important;
  color: #BBA777 !important;
  margin-bottom: 20px !important;
  line-height: 1.2 !important;
}

.join-text p {
  font-family: 'Roboto Slab', serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  color: #FFFFFF !important;
  margin-bottom: 8px !important;
  line-height: 1.2 !important;
}

.benefits-list {
  margin: 30px 0;
}

.benefits-list ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.benefits-list li {
  font-family: 'Roboto Slab', serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  color: #FFFFFF !important;
  margin-bottom: 20px !important;
  display: flex !important;
  align-items: center !important;
}

.benefits-list li i {
  color: #00A3E0;
  font-size: 22px;
  margin-right: 15px;
}

.signup-button {
  font-family: 'Roboto', sans-serif !important;
  font-weight: 700 !important;
  color: #000000 !important;
  background-color: #BBA777 !important;
  padding: 15px 50px !important;
  text-decoration: none !important;
  border-radius: 5px !important;
  border: none !important;
  display: inline-block !important;
  margin-top: 20px !important;
  transition: all 0.3s ease !important;
}

.signup-button:hover {
  background-color: #CFCFCF;
  color: #000000;
}

.join-image {
  flex: 1;
}

.join-img {
  width: 100%;
  height: auto;
  display: block;
}

/* Footer Section */
.footer-section {
  background-color: #000000;
  padding: 30px 0;
  text-align: center;
}

.footer-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.footer-bottom {
  display: flex;
  justify-content: center;
  align-items: center;
}

.copyright p {
  font-family: 'Roboto', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #7C7C7C !important;
  margin: 0 !important;
  text-align: center !important;
}

/* Animations */
.animate-ready {
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.8s ease;
}

.animate-in {
  opacity: 1;
  transform: translateY(0);
}

/* Tablet Styles */
@media screen and (max-width: 1024px) {
  .hero-title {
    font-size: 48px;
  }
  
  .hero-subtitle {
    font-size: 32px;
  }
  
  .content-row {
    flex-direction: column;
    gap: 62px;
  }
  
  .content-left {
    padding-right: 0;
  }
  
  .enough-section .content-right {
    padding-left: 0;
  }
  
  .main-content-section {
    padding: 10% 5% 0% 5%;
  }
  
  .enough-section {
    padding: 10% 5% 10% 5%;
  }
  
  .enough-section .content-row {
    flex-direction: column-reverse;
  }
  
  .freedom-content {
    flex-direction: column;
    gap: 70px;
  }
  
  .freedom-text {
    flex: none;
    justify-content: center;
    gap: 10px;
    padding-right: 0;
    text-align: center;
  }
  
  .value-cards {
    gap: 56px;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
  }
  
  .instructor-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  
  .creator-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  
  .join-content {
    flex-direction: column;
  }
  
  .join-text h2 {
    font-size: 32px;
  }
  
  .join-text p {
    font-size: 16px;
  }
}

/* Mobile Styles */
@media screen and (max-width: 800px) {
  .desktop-only {
    display: none !important;
  }
  
  .mobile-only {
    display: block !important;
  }
  
  /* Specific rules for section headers on mobile */
  .section-header.desktop-only {
    display: none !important;
  }
  
  .section-header.mobile-only {
    display: block !important;
    text-align: center;
    margin-bottom: 20px;
  }
  
  .section-header.mobile-only h2 {
    font-size: 20px !important;
    text-align: center !important;
  }
  
  .hero-section {
    padding: 50px 0 0 0;
  }
  
  .hero-title {
    font-size: 32px;
  }
  
  .hero-subtitle {
    font-size: 28px;
    width: 100%;
  }
  
  .hero-button {
    font-size: 14px;
    padding: 15px 30px;
    margin-bottom: 30px;
  }
  
  /* Mobile Icon Boxes */
  .icon-boxes-desktop {
    display: none;
  }
  
  .icon-boxes-mobile {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    width: 100%;
    margin: 0 auto;
    padding: 30px 0;
    justify-items: center;
  }
  
  .icon-boxes-mobile .icon-box {
    width: 90%;
  }
  
  .icon-boxes-mobile .icon {
    width: 40px;
    height: 40px;
  }
  
  .icon-boxes-mobile h3 {
    font-size: 14px;
    text-align: center;
  }
  
  .video-community-section h2 {
    font-size: 32px;
  }
  
  .main-content-section {
    padding: 15% 5% 15% 5%;
  }
  
  .content-row {
    flex-direction: column;
    gap: 24px;
  }
  
  .attack-text {
    font-size: 24px;
  }
  
  .subtitle {
    font-size: 28px;
  }
  
  .enough-section.desktop-only {
    display: none !important;
  }
  
  .enough-section.mobile-only .enough-title {
    font-size: 24px;
  }
  
  .enough-section.mobile-only .enough-subtitle {
    font-size: 28px;
  }
  
  .freedom-section {
    padding: 5% 5% 15% 5%;
  }
  
  .freedom-content {
    gap: 0;
  }
  
  .freedom-title {
    font-size: 24px;
  }
  
  .freedom-subtitle {
    font-size: 28px;
    width: 100%;
  }
  
  .value-cards {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, 1fr);
    gap: 50px;
  }
  
  .card-title {
    font-size: 24px;
  }
  
  .card-accent {
    width: 158px;
    height: 20px;
  }
  
  .instructors-section {
    padding: 0% 0% 0% 0%;
  }
  
  .instructor-grid {
    grid-template-columns: repeat(2, 1fr);
    padding: 0 5%;
  }
  
  .instructor-card h3 {
    font-size: 14px;
    bottom: 10px;
    left: 10px;
    right: 50px;
  }
  
  .instructor-bg {
    height: 230px;
  }
  
  .creators-section {
    padding: 5% 0% 0% 0%;
  }
  
  .creator-grid {
    grid-template-columns: repeat(2, 1fr);
    padding: 0 5%;
  }
  
  .creator-card h3 {
    font-size: 14px;
    bottom: 10px;
    left: 10px;
    right: 50px;
  }
  
  .creator-bg {
    height: 230px;
  }
  
  /* Mobile hover effects - use active state for touch devices */
  .instructor-card:active {
    transform: translateY(-3px) scale(1.01);
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.4);
  }
  
  .creator-card:active {
    transform: translateY(-3px) scale(1.01);
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.4);
  }
  
  .instructor-card:active .instructor-bg,
  .creator-card:active .creator-bg {
    transform: scale(1.05);
    filter: brightness(1.05) contrast(1.05);
  }
  
  .instructor-card:active h3,
  .creator-card:active h3 {
    transform: translateY(-2px);
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.7);
  }
  
  .instructor-card:active::after,
  .creator-card:active::after {
    opacity: 0.8;
  }
  
  .see-all-mobile {
    text-align: right;
    padding: 0 5%;
  }
  
  .join-section {
    width: 100%;
    padding: 0% 0% 15% 0%;
  }
  
  .join-content {
    margin-top: 0;
  }
  
  .join-text {
    padding: 10px 20px 0 10px;
  }
  
  .join-text h2 {
    font-size: 22px;
    text-align: center;
  }
  
  .join-text p {
    font-size: 14px;
    text-align: center;
  }
  
  .benefits-list {
    text-align: center;
  }
  
  .benefits-list li {
    font-size: 16px;
    justify-content: center;
  }
  
  .benefits-list li i {
    font-size: 16px;
  }
  
  .signup-button {
    display: block;
    text-align: center;
    margin: 20px auto 0 auto;
    width: fit-content;
  }
  
  .join-image {
    padding: 0 20px;
  }
  
  .footer-nav {
    flex-direction: column;
    gap: 20px;
    padding-bottom: 10px;
  }
  
  .footer-menu {
    gap: 16px;
  }
  
  .footer-menu a {
    font-size: 14px;
  }
  
  .footer-bottom {
    justify-content: center;
  }
  
  .copyright p {
    font-size: 11px;
    text-align: center;
    line-height: 19px;
  }
}

/* Hide PeerTube default elements on landing page */
body.landing-page-active .menu-wrapper,
body.landing-page-active my-sidebar,
body.landing-page-active .top-menu,
body.landing-page-active .header,
body.landing-page-active .sub-header {
  display: none !important;
}

body.landing-page-active #content {
  margin-left: 0 !important;
  width: 100% !important;
  padding: 0 !important;
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 12px;
}

::-webkit-scrollbar-track {
  background: #141414;
}

::-webkit-scrollbar-thumb {
  background: #BBA777;
  border-radius: 6px;
}

::-webkit-scrollbar-thumb:hover {
  background: #CFCFCF;
}

/* Force styles for landing page content */
.landing-content .video-community-section h2 {
  font-family: 'Roboto', sans-serif !important;
  font-size: 44px !important;
  font-weight: 800 !important;
  color: #BBA777 !important;
  text-align: center !important;
  margin: 0 !important;
  padding: 0 !important;
  margin-bottom: .5rem !important;
}

/* High priority overrides for natural text flow */
body.landing-page-active .hero-subtitle,
body.landing-page-active h2.hero-subtitle,
body.landing-page-active .elementor-heading-title,
.landing-content .hero-subtitle,
.landing-content h2.hero-subtitle,
.landing-content .elementor-heading-title {
  font-family: "Roboto", Sans-serif !important;
  font-size: 40px !important;
  font-weight: 600 !important;
  color: #FBFBFB !important;
  line-height: 1.2 !important;
  text-align: center !important;
  max-width: 1200px !important;
  margin: 20px auto 30px auto !important;
  white-space: normal !important;
  word-wrap: break-word !important;
  width: 90% !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
}

/* Remove any line breaks completely */
body.landing-page-active .hero-subtitle br,
body.landing-page-active h2.hero-subtitle br,
body.landing-page-active .elementor-heading-title br,
.landing-content .hero-subtitle br,
.landing-content h2.hero-subtitle br,
.landing-content .elementor-heading-title br {
  display: none !important;
}

/* Override any heroBanner styles that might interfere */
body.landing-page-active .heroBanner,
body.landing-page-active .heroBanner_upperText,
.landing-content .heroBanner,
.landing-content .heroBanner_upperText {
  display: none !important; /* Hide old hero banner structure */
}

/* Additional overrides for landing page content */
.landing-content .hero-content {
  text-align: center !important;
}

.landing-content .hero-title {
  font-family: 'Roboto', sans-serif !important;
  font-size: 65px !important;
  font-weight: 800 !important;
  color: #BBA777 !important;
  text-align: center !important;
}

.landing-content .attack-text {
  font-family: 'Roboto Slab', serif !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  color: #BBA777 !important;
}

.landing-content .subtitle {
  font-family: 'Roboto', sans-serif !important;
  font-size: 40px !important;
  font-weight: 600 !important;
  color: #FBFBFB !important;
}

/* Ultra-high priority hero subtitle rules to ensure natural text flow */
body.landing-page-active .landing-content .hero-subtitle,
.landing-content .hero-section .hero-content .hero-subtitle,
.landing-content .hero-subtitle,
h2.hero-subtitle {
  font-family: "Roboto", Sans-serif !important;
  font-size: 40px !important;
  font-weight: 600 !important;
  color: #FBFBFB !important;
  line-height: 1.2 !important;
  text-align: center !important;
  max-width: 1200px !important;
  margin: 20px auto 30px auto !important;
  white-space: normal !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
  width: 90% !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
  display: block !important;
  border: none !important;
  background: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  word-spacing: normal !important;
}

/* Remove any potential ::before or ::after content that might add line breaks */
body.landing-page-active .landing-content .hero-subtitle::before,
body.landing-page-active .landing-content .hero-subtitle::after,
.landing-content .hero-subtitle::before,
.landing-content .hero-subtitle::after {
  content: none !important;
  display: none !important;
}

/* Hide any child BR elements completely */
body.landing-page-active .landing-content .hero-subtitle br,
.landing-content .hero-subtitle br,
.landing-content .hero-subtitle > br {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}

/* Match problem-list font to target */
.problem-list ul,
.problem-list li {
  font-family: var(--e-global-typography-secondary-font-family, 'Roboto Slab'), serif !important;
  font-size: 18px !important;
  font-weight: var(--e-global-typography-secondary-font-weight, 400) !important;
  color: var(--e-a-color-white, #FFFFFF) !important;
  text-align: left !important;
}

/* Ultra-specific font override for problem-list */
.landing-content .problem-list ul,
.landing-content .problem-list li,
.landing-content .problem-list ul li,
.landing-content .problem-list li span,
.landing-content .problem-list li i {
  font-family: var(--e-global-typography-secondary-font-family, 'Roboto Slab'), serif !important;
  font-size: 18px !important;
  font-weight: var(--e-global-typography-secondary-font-weight, 400) !important;
  color: var(--e-a-color-white, #FFFFFF) !important;
  text-align: left !important;
  letter-spacing: normal !important;
  font-style: normal !important;
  background: none !important;
  box-shadow: none !important;
}

/* Fix for "Our rights are under attack." and "Enough is enough." */
.landing-content .attack-text,
.landing-content .enough-title {
  font-family: var(--e-global-typography-secondary-font-family, 'Roboto Slab'), serif !important;
  font-size: 28px !important;
  font-weight: var(--e-global-typography-secondary-font-weight, 400) !important;
  color: var(--e-global-color-primary, #BBA777) !important;
  line-height: 1.2 !important;
  text-align: left !important;
  margin-bottom: 20px !important;
}

/* Fix for problem-list text (but NOT the icon) */
.landing-content .problem-list li {
  font-family: var(--e-global-typography-secondary-font-family, 'Roboto Slab'), serif !important;
  font-size: 18px !important;
  font-weight: var(--e-global-typography-secondary-font-weight, 400) !important;
  color: var(--e-a-color-white, #FFFFFF) !important;
  text-align: left !important;
  letter-spacing: normal !important;
  font-style: normal !important;
  background: none !important;
  box-shadow: none !important;
}

/* Restore red X icon color */
.landing-content .problem-list li i {
  color: #E40204 !important;
  font-size: 24px !important;
  margin-right: 10px !important;
  font-style: normal !important;
}

/* Hide landing page specific elements that might interfere */
body.landing-page-active .menu-wrapper,
body.landing-page-active my-menu {
  display: none !important;
}

/* Landing page content override */
body.landing-page-active #content {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: none !important;
}

/* Block any sign-in popups, modals, or login forms */
body.landing-page-active [id*="login"],
body.landing-page-active [class*="login"],
body.landing-page-active [id*="signin"],
body.landing-page-active [class*="signin"],
body.landing-page-active .modal,
body.landing-page-active .modal-backdrop,
body.landing-page-active my-login,
body.landing-page-active .login-form,
body.landing-page-active .signin-form,
body.landing-page-active .auth-modal,
body.landing-page-active .popup-overlay {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: -9999 !important;
}

/* Block any autofill or browser password popups */
body.landing-page-active input:-webkit-autofill,
body.landing-page-active input:-webkit-autofill:hover,
body.landing-page-active input:-webkit-autofill:focus,
body.landing-page-active input:-webkit-autofill:active {
  display: none !important;
}

/* Hide any iframe that might contain login content */
body.landing-page-active iframe[src*="login"],
body.landing-page-active iframe[src*="signin"],
body.landing-page-active iframe[src*="my.greyhive.com"] {
  display: none !important;
  visibility: hidden !important;
}

/* Creators Section Desktop */
.creators-section.desktop-only {
  background-color: #141414;
  padding: 2% 5% 2% 5%;
  max-width: 1700px;
  margin: 0 auto;
}

.creators-section.desktop-only .section-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr;
  align-items: center;
  margin-bottom: 20px;
}

.creators-section.desktop-only .section-header h2 {
  font-family: 'Roboto Slab', serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: #FFFFFF !important;
  text-align: left !important;
  margin: 0 !important;
}

.creators-section.desktop-only .creator-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: 1fr;
  gap: 20px;
}

.hero-button {
  display: inline-block !important;
  font-family: 'Roboto', sans-serif !important;
  font-weight: 700 !important;
  color: #000000 !important;
  background-color: #BBA777 !important;
  padding: 20px 55px !important;
  text-decoration: none !important;
  border-radius: 5px !important;
  border: none !important;
  margin-bottom: 50px !important;
  transition: all 0.3s ease !important;
  text-transform: none !important;
  font-size: 16px !important;
}

.hero-button:hover {
  background-color: #BBA777;
  color: #000000;
  transform: scale(1.05);
}

/* Icon Boxes */
.icon-boxes-desktop {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  width: 80%;
  margin: 0 auto;
  justify-items: center;
  align-items: center;
}

.icon-boxes-mobile {
  display: none;
}

.icon-box {
  text-align: center;
  width: 70%;
}

.icon-box .icon {
  width: 95px;
  height: 95px;
  margin-bottom: 10px;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.icon-box h3 {
  font-family: 'Roboto Slab', serif !important;
  font-size: 25px !important;
  font-weight: 600 !important;
  color: #FFFFFF !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

/* Main Content Section */
.main-content-section {
  background-color: #141414;
  padding: 5% 5% 3% 5%;
}

.content-row {
  display: flex;
  gap: 26px;
  align-items: stretch;
  max-width: 1650px;
  margin: 0 auto;
}

.content-left {
  flex: 1;
  padding-right: 5%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.content-right {
  flex: 1;
}

/* Updated attack-text styling to match target */
.attack-text,
.enough-title {
  font-family: 'Roboto Slab', serif !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  color: #BBA777 !important;
  line-height: 1.2 !important;
  text-align: left !important;
  margin-bottom: 20px !important;
}

/* Updated enough-title styling to match target */
.enough-title {
  font-family: 'Roboto Slab', serif !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  color: #BBA777 !important;
  margin-bottom: 20px !important;
  line-height: 1.2 !important;
}

/* Updated card accent styling and animation */
.card-accent {
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 60px 60px 0;
  border-color: transparent #BBA777 transparent transparent;
  opacity: 0;
  transition: all 0.3s ease;
  transform: rotate(0deg);
}

.card-accent.accent-animate {
  opacity: 1;
  animation: accentSlide 0.5s ease-out forwards;
}

@keyframes accentSlide {
  from {
    opacity: 0;
    transform: translateX(20px) rotate(-10deg);
  }
  to {
    opacity: 1;
    transform: translateX(0) rotate(0deg);
  }
}

.hover-container {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
}

.hover-container p {
  font-family: 'Roboto', sans-serif;
  font-size: 16px;
  color: #FFFFFF;
  margin-top: 15px;
  line-height: 1.4;
}

/* Fix JOIN AMERICA'S COMMUNITY section */
.join-america-title {
  font-family: 'Roboto', sans-serif !important;
  font-size: 44px !important;
  font-weight: 800 !important;
  color: #BBA777 !important;
  margin-bottom: 20px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

.join-description {
  width: var(--container-widget-width, 90%) !important;
  max-width: 90% !important;
  --container-widget-width: 90%;
  --container-widget-flex-grow: 0;
  text-align: left !important;
  color: #FFFFFF !important;
  font-family: 'Roboto Slab', serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  margin-bottom: 8px !important;
  line-height: 1.2 !important;
}

.benefits-list {
  margin: 20px 0;
}

.benefits-list p {
  font-family: 'Roboto', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #FFFFFF !important;
  margin-bottom: 10px !important;
  line-height: 1.4 !important;
}

/* Remove duplicate INSTRUCTORS/CREATORS labels */
.row4.row-mainText > p:first-child,
.row5.row-mainText > p:first-child {
  font-family: 'Roboto', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  margin-bottom: 10px !important;
  text-transform: uppercase !important;
}

/* Ensure no duplicate labels appear */
.row4 .row-mainText::before,
.row5 .row-mainText::before {
  display: none !important;
}

/* Fix instructor/creator text styling */
.img-text {
  font-family: 'Roboto', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #FFFFFF !important;
  text-transform: uppercase !important;
}

.subtitle {
  font-family: 'Roboto', sans-serif !important;
  font-size: 40px !important;
  font-weight: 600 !important;
  color: #FFFFFF !important;
  margin-bottom: 30px !important;
  line-height: 1.25 !important;
}

/* Video Container */
.video-container {
  position: relative;
  cursor: pointer;
  overflow: hidden;
  border-radius: 8px;
}

.video-thumbnail {
  width: 100%;
  height: auto;
  display: block;
}

.play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80px;
  height: 80px;
  background-color: rgba(187, 167, 119, 0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.play-button::after {
  content: '';
  width: 0;
  height: 0;
  border-left: 25px solid #FFFFFF;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  margin-left: 5px;
}

/* Enough Section */
.enough-section {
  background-color: #141414;
  padding: 3% 5% 2% 5%;
}

.enough-section .content-left {
  flex: 1;
  padding: 0;
}

.enough-section .content-right {
  flex: 1.18;
  padding-left: 5%;
}

.censored-image {
  width: 100%;
  height: auto;
  border: 2px solid #D72C2C;
}

.enough-subtitle {
  font-family: 'Roboto', sans-serif !important;
  font-size: 40px !important;
  font-weight: 600 !important;
  color: #FAFAFA !important;
  margin-bottom: 3% !important;
  line-height: 1.3 !important;
}

.problem-lists {
  display: flex;
  justify-content: space-between;
}

.problem-list {
  flex: 1;
  width: 33%;
}

.problem-list ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.problem-list li {
  font-family: var(--e-global-typography-secondary-font-family, 'Roboto Slab'), serif !important;
  font-size: 18px !important;
  font-weight: var(--e-global-typography-secondary-font-weight, 400) !important;
  color: var(--e-a-color-white, #FFFFFF) !important;
  margin-bottom: 20px !important;
  display: flex !important;
  align-items: center !important;
}

.problem-list li i {
  color: #E40204;
  font-size: 24px;
  margin-right: 10px;
}

/* Mobile Enough Section */
.enough-section.mobile-only {
  padding: 5% 0 15% 0;
}

.content-column {
  display: flex;
  flex-direction: column-reverse;
}

.content-bottom {
  padding: 0 5%;
}

.problem-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  width: 500px;
  margin: 0 auto;
}

.problem-column ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.problem-column li {
  font-family: var(--e-global-typography-secondary-font-family, 'Roboto Slab'), serif !important;
  font-size: 16px !important;
  font-weight: var(--e-global-typography-secondary-font-weight, 400) !important;
  color: var(--e-a-color-white, #FFFFFF) !important;
  margin-bottom: 20px !important;
  display: flex !important;
  align-items: center !important;
}

.problem-column li i {
  color: #E40204;
  font-size: 25px;
  margin-right: 10px;
}