/* ==========================================================================
   QuickRDP Premium Blog Stylesheet
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap');

/* Brand variables & design tokens */
:root {
  --blog-gold: #ffcc00;
  --blog-gold-hover: #e69100;
  --blog-bg-dark: #0c1319;
  --blog-bg-card: rgba(23, 33, 43, 0.6);
  --blog-bg-card-hover: rgba(28, 40, 52, 0.85);
  --blog-border: rgba(255, 255, 255, 0.08);
  --blog-border-active: rgba(255, 204, 0, 0.35);
  --blog-text-main: #e2e8f0;
  --blog-text-muted: #94a3b8;
  --blog-shadow: 0 15px 35px rgba(0, 0, 0, 0.35);
  --blog-shadow-hover: 0 25px 45px rgba(255, 204, 0, 0.06);
}

/* Base Wrapper for Premium Blog styling */
.blog-premium-wrap {
  font-family: 'Inter', sans-serif !important;
  color: var(--blog-text-main) !important;
  background-color: var(--blog-bg-dark) !important;
}

.blog-premium-wrap h1,
.blog-premium-wrap h2,
.blog-premium-wrap h3,
.blog-premium-wrap h4,
.blog-premium-wrap h5,
.blog-premium-wrap h6 {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  color: #ffffff !important;
}

/* Beautiful Glowing Hero Section */
.blog-hero-premium {
  position: relative !important;
  padding: 130px 0 90px 0 !important;
  background: linear-gradient(180deg, #121e25 0%, #0c1319 100%) !important;
  overflow: hidden !important;
  border-bottom: 1px solid var(--blog-border) !important;
}
.blog-hero-premium::before {
  content: '' !important;
  position: absolute !important;
  top: -40% !important;
  left: -20% !important;
  width: 140% !important;
  height: 180% !important;
  background: radial-gradient(circle, rgba(255, 204, 0, 0.04) 0%, transparent 60%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
.blog-hero-title {
  font-size: 52px !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  margin-bottom: 15px !important;
  background: linear-gradient(to right, #ffffff 60%, var(--blog-gold) 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
.blog-hero-subtitle {
  font-size: 18px !important;
  color: var(--blog-text-muted) !important;
  max-width: 600px !important;
  line-height: 1.6 !important;
}

/* Premium Card Layout with transition support */
.blog-card-premium {
  background: var(--blog-bg-card) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1px solid var(--blog-border) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: var(--blog-shadow) !important;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  margin-bottom: 35px !important;
  opacity: 1;
  transform: scale(1);
}
.blog-card-premium:hover {
  transform: translateY(-6px) !important;
  border-color: var(--blog-border-active) !important;
  box-shadow: var(--blog-shadow-hover) !important;
  background: var(--blog-bg-card-hover) !important;
}
.blog-card-img-wrap {
  position: relative !important;
  overflow: hidden !important;
}
.blog-card-img-wrap img {
  width: 100% !important;
  object-fit: cover !important;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.blog-card-premium:hover .blog-card-img-wrap img {
  transform: scale(1.04) !important;
}

/* Filter animations for JS matching */
.blog-card-premium.hidden {
  display: none !important;
  opacity: 0;
  transform: scale(0.95);
}

/* Badge styles */
.blog-badge-gold {
  background: rgba(255, 204, 0, 0.1) !important;
  color: var(--blog-gold) !important;
  border: 1px solid rgba(255, 204, 0, 0.2) !important;
  padding: 5px 12px !important;
  border-radius: 30px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  display: inline-block !important;
}

/* Card titles */
.blog-card-title-premium {
  font-size: 24px !important;
  font-weight: 700 !important;
  margin: 15px 0 10px 0 !important;
}
.blog-card-title-premium a {
  color: #ffffff !important;
  text-decoration: none !important;
  transition: color 0.3s !important;
}
.blog-card-title-premium a:hover {
  color: var(--blog-gold) !important;
}

/* Buttons with premium animations */
.btn-premium-gold {
  color: var(--blog-gold) !important;
  background: rgba(255, 204, 0, 0.05) !important;
  border: 1px solid rgba(255, 204, 0, 0.25) !important;
  padding: 10px 20px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
.btn-premium-gold:hover {
  color: #121e25 !important;
  background: var(--blog-gold) !important;
  border-color: var(--blog-gold) !important;
  box-shadow: 0 4px 15px rgba(255, 204, 0, 0.25) !important;
  transform: translateY(-2px) !important;
}
.btn-premium-gold i {
  transition: transform 0.3s !important;
}
.btn-premium-gold:hover i {
  transform: translateX(4px) !important;
}

/* Featured Article horizontal layout */
.featured-card-horizontal {
  display: flex !important;
  flex-direction: row !important;
}
.featured-card-horizontal .blog-card-img-wrap {
  width: 50% !important;
  flex-shrink: 0 !important;
}
.featured-card-horizontal .blog-card-content {
  width: 50% !important;
  padding: 40px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
@media (max-width: 991px) {
  .featured-card-horizontal {
    flex-direction: column !important;
  }
  .featured-card-horizontal .blog-card-img-wrap,
  .featured-card-horizontal .blog-card-content {
    width: 100% !important;
  }
  .featured-card-horizontal .blog-card-content {
    padding: 25px !important;
  }
}

/* Sidebar premium components */
.sidebar-premium-widget {
  background: var(--blog-bg-card) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1px solid var(--blog-border) !important;
  border-radius: 16px !important;
  padding: 28px !important;
  margin-bottom: 35px !important;
  box-shadow: var(--blog-shadow) !important;
}
.sidebar-premium-title {
  font-size: 18px !important;
  font-weight: 700 !important;
  margin-bottom: 22px !important;
  position: relative !important;
  padding-left: 15px !important;
  color: #fff !important;
  letter-spacing: -0.01em !important;
}
.sidebar-premium-title::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 4px !important;
  height: 18px !important;
  background-color: var(--blog-gold) !important;
  border-radius: 2px !important;
}

/* Search widget styling */
.search-widget-premium {
  position: relative !important;
}
.search-widget-premium input {
  width: 100% !important;
  background: rgba(0, 0, 0, 0.25) !important;
  border: 1px solid var(--blog-border) !important;
  border-radius: 8px !important;
  padding: 12px 40px 12px 16px !important;
  color: #fff !important;
  font-size: 14px !important;
  transition: all 0.3s !important;
}
.search-widget-premium input:focus {
  border-color: var(--blog-gold) !important;
  box-shadow: 0 0 12px rgba(255, 204, 0, 0.12) !important;
  outline: none !important;
}
.search-widget-premium i {
  position: absolute !important;
  right: 15px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: var(--blog-text-muted) !important;
}

/* Categories widgets */
.pills-container-premium {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
.pill-item-premium {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--blog-text-muted) !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid var(--blog-border) !important;
  padding: 8px 16px !important;
  border-radius: 30px !important;
  transition: all 0.3s !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
.pill-item-premium:hover,
.pill-item-premium.active {
  color: var(--blog-gold) !important;
  background: rgba(255, 204, 0, 0.08) !important;
  border-color: rgba(255, 204, 0, 0.3) !important;
}

/* Recent posts item styling */
.recent-post-card-premium {
  display: flex !important;
  gap: 15px !important;
  margin-bottom: 20px !important;
  padding-bottom: 20px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}
.recent-post-card-premium:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}
.recent-post-card-premium img {
  width: 75px !important;
  height: 75px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  flex-shrink: 0 !important;
  transition: all 0.3s !important;
  border: 1px solid var(--blog-border) !important;
}
.recent-post-card-premium:hover img {
  border-color: rgba(255, 204, 0, 0.25) !important;
}
.recent-post-content-premium {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
.recent-post-title-link {
  font-size: 14.5px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  margin-bottom: 6px !important;
}
.recent-post-title-link a {
  color: #ffffff !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}
.recent-post-title-link a:hover {
  color: var(--blog-gold) !important;
}
.recent-post-meta-premium {
  font-size: 12px !important;
  color: var(--blog-text-muted) !important;
}

/* Newsletter Subscribe Card */
.newsletter-card-premium {
  background: linear-gradient(135deg, rgba(255, 204, 0, 0.04) 0%, rgba(23, 33, 43, 0.6) 100%) !important;
  border: 1px solid rgba(255, 204, 0, 0.18) !important;
}
.newsletter-card-premium input {
  width: 100% !important;
  background: rgba(0, 0, 0, 0.3) !important;
  border: 1px solid var(--blog-border) !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  color: #fff !important;
  font-size: 14px !important;
  margin-bottom: 12px !important;
}
.newsletter-card-premium input:focus {
  border-color: var(--blog-gold) !important;
  outline: none !important;
}
.newsletter-btn-premium {
  width: 100% !important;
  background: var(--blog-gold) !important;
  color: #121e25 !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 12px !important;
  text-align: center !important;
  transition: all 0.3s !important;
  cursor: pointer !important;
}
.newsletter-btn-premium:hover {
  background: var(--blog-gold-hover) !important;
  box-shadow: 0 4px 15px rgba(255, 204, 0, 0.3) !important;
  transform: translateY(-1px) !important;
}

/* ==========================================================================
   Premium Reading Article Styles
   ========================================================================== */
.article-premium-container {
  background: var(--blog-bg-card) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1px solid var(--blog-border) !important;
  border-radius: 20px !important;
  padding: 45px !important;
  box-shadow: var(--blog-shadow) !important;
  margin-bottom: 40px !important;
}
@media (max-width: 576px) {
  .article-premium-container {
    padding: 25px 20px !important;
  }
}

/* Meta tags for articles */
.article-meta-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
  color: var(--blog-text-muted) !important;
  font-size: 14px !important;
  margin-bottom: 25px !important;
}
.article-meta-row span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.article-meta-row i {
  color: var(--blog-gold) !important;
}

/* Share Widgets */
.blog-share-container {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 25px 0 !important;
  padding: 15px 0 !important;
  border-top: 1px dashed rgba(255,255,255,0.06) !important;
  border-bottom: 1px dashed rgba(255,255,255,0.06) !important;
}
.blog-share-label {
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--blog-text-muted) !important;
}
.blog-share-btn {
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid var(--blog-border) !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
  transition: all 0.3s !important;
  text-decoration: none !important;
}
.blog-share-btn:hover {
  transform: translateY(-2px) !important;
  color: #121e25 !important;
}
.blog-share-btn.share-fb:hover { background: #3b5998 !important; border-color: #3b5998 !important; }
.blog-share-btn.share-tw:hover { background: #1da1f2 !important; border-color: #1da1f2 !important; }
.blog-share-btn.share-ln:hover { background: #0077b5 !important; border-color: #0077b5 !important; }

/* Table of Contents */
.toc-widget-premium {
  background: rgba(0,0,0,0.15) !important;
  border: 1px solid var(--blog-border) !important;
  border-radius: 12px !important;
  padding: 20px !important;
  margin: 30px 0 !important;
}
.toc-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin-bottom: 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.toc-list {
  list-style: none !important;
  padding-left: 0 !important;
  margin-bottom: 0 !important;
}
.toc-list li {
  padding-left: 0 !important;
  margin-bottom: 8px !important;
  font-size: 14.5px !important;
}
.toc-list li::before {
  display: none !important;
}
.toc-list li a {
  color: var(--blog-text-muted) !important;
  text-decoration: none !important;
  transition: all 0.2s !important;
}
.toc-list li a:hover {
  color: var(--blog-gold) !important;
  padding-left: 4px !important;
}

/* Author Profile Bios */
.blog-author-card-premium {
  display: flex !important;
  gap: 20px !important;
  background: rgba(255, 255, 255, 0.02) !important;
  border: 1px solid var(--blog-border) !important;
  border-radius: 12px !important;
  padding: 24px !important;
  margin-top: 40px !important;
  align-items: center !important;
}
.blog-author-avatar {
  width: 75px !important;
  height: 75px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  border: 2px solid rgba(255,204,0,0.3) !important;
  flex-shrink: 0 !important;
}
.blog-author-name {
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin-bottom: 6px !important;
}
.blog-author-bio {
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: var(--blog-text-muted) !important;
  margin-bottom: 0 !important;
}
@media (max-width: 576px) {
  .blog-author-card-premium {
    flex-direction: column !important;
    text-align: center !important;
  }
}

/* Premium Typography for content */
.article-reading-body {
  font-size: 17.5px !important;
  line-height: 1.85 !important;
  color: var(--blog-text-main) !important;
}
.article-reading-body p {
  margin-bottom: 24px !important;
}
.article-reading-body strong {
  color: #ffffff !important;
}
.article-reading-body h2 {
  font-size: 26px !important;
  margin: 45px 0 22px 0 !important;
  position: relative !important;
  padding-bottom: 12px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
}
.article-reading-body h2::after {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 55px !important;
  height: 3px !important;
  background-color: var(--blog-gold) !important;
  border-radius: 2px !important;
}
.article-reading-body h3, 
.article-reading-body h6 {
  font-size: 21px !important;
  margin: 35px 0 16px 0 !important;
  font-weight: 600 !important;
  color: #ffffff !important;
}
.article-reading-body h6 {
  font-size: 19px !important;
}

/* Custom list layout */
.article-reading-body ul, 
.article-reading-body ol {
  margin-bottom: 25px !important;
  padding-left: 0 !important;
  list-style: none !important;
}
.article-reading-body li {
  margin-bottom: 12px !important;
  position: relative !important;
  padding-left: 24px !important;
}
.article-reading-body ul li::before {
  content: "✦" !important;
  color: var(--blog-gold) !important;
  font-weight: bold !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
}
.article-reading-body ol {
  counter-reset: my-counter !important;
}
.article-reading-body ol li {
  counter-increment: my-counter !important;
}
.article-reading-body ol li::before {
  content: counter(my-counter) "." !important;
  color: var(--blog-gold) !important;
  font-weight: 700 !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
}

/* Translucent Premium Blockquote */
.article-reading-body blockquote {
  background: rgba(255, 204, 0, 0.03) !important;
  border-left: 4px solid var(--blog-gold) !important;
  border-radius: 0 12px 12px 0 !important;
  padding: 24px 30px !important;
  margin: 35px 0 !important;
  font-style: italic !important;
  font-size: 19px !important;
  color: #ffffff !important;
  position: relative !important;
}

/* Callouts / Pro Tips */
.pro-tip-callout {
  background: rgba(255, 204, 0, 0.04) !important;
  border: 1px solid rgba(255, 204, 0, 0.18) !important;
  border-radius: 12px !important;
  padding: 24px !important;
  margin: 35px 0 !important;
  box-shadow: var(--blog-shadow) !important;
}
.pro-tip-title {
  color: var(--blog-gold) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  margin-bottom: 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* Table styling override */
.blog-comparison-table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 30px 0 !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  border: 1px solid var(--blog-border) !important;
}
.blog-comparison-table th {
  background-color: rgba(255, 204, 0, 0.08) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  padding: 14px 18px !important;
  font-size: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
}
.blog-comparison-table td {
  padding: 15px 18px !important;
  border-bottom: 1px solid var(--blog-border) !important;
  color: var(--blog-text-main) !important;
  background: rgba(23, 33, 43, 0.4) !important;
  font-size: 15px !important;
}
.blog-comparison-table tr:last-child td {
  border-bottom: none !important;
}
.blog-comparison-table tr:hover td {
  background: rgba(30, 41, 59, 0.5) !important;
}

/* Pagination premium style */
.pagination-premium-container {
  display: flex !important;
  gap: 8px !important;
  list-style: none !important;
  padding-left: 0 !important;
  margin-bottom: 0 !important;
}
.pagination-premium-container li a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 36px !important;
  height: 36px !important;
  padding: 0 12px !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid var(--blog-border) !important;
  color: var(--blog-text-muted) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  transition: all 0.3s !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
.pagination-premium-container li.active a,
.pagination-premium-container li a:hover {
  color: #121e25 !important;
  background: var(--blog-gold) !important;
  border-color: var(--blog-gold) !important;
  box-shadow: 0 4px 10px rgba(255, 204, 0, 0.2) !important;
}

/* Keep reading section */
.keep-reading-section {
  border-top: 1px solid var(--blog-border) !important;
  padding-top: 45px !important;
  margin-top: 55px !important;
}
.keep-reading-title {
  font-size: 24px !important;
  font-weight: 700 !important;
  margin-bottom: 25px !important;
  color: #fff !important;
}
