@import url('../../css/design-system.css');

/**
 * Public Fast Kannada News - Public Site Stylesheet (Refined V5)
 */

/* Multi-Color Vibrant Headlines Design System */
.article-title, .news-card-title, .post-title, .heading-colorful {
    font-weight: 800;
    line-height: 1.45;
}

.heading-word-red {
    color: #DC2626 !important;
    background: rgba(220, 38, 38, 0.08);
    border: 1.5px solid rgba(220, 38, 38, 0.2);
    padding: 2px 10px;
    border-radius: 6px;
    font-weight: 800;
    display: inline-block;
    margin-right: 6px;
    margin-bottom: 6px;
    box-shadow: 0 2px 8px rgba(220, 38, 38, 0.12);
    transition: all 0.2s ease;
}
.heading-word-blue {
    color: #2563EB !important;
    background: rgba(37, 99, 235, 0.08);
    border: 1.5px solid rgba(37, 99, 235, 0.2);
    padding: 2px 10px;
    border-radius: 6px;
    font-weight: 800;
    display: inline-block;
    margin-right: 6px;
    margin-bottom: 6px;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.12);
    transition: all 0.2s ease;
}
.heading-word-green {
    color: #059669 !important;
    background: rgba(5, 150, 105, 0.08);
    border: 1.5px solid rgba(5, 150, 105, 0.2);
    padding: 2px 10px;
    border-radius: 6px;
    font-weight: 800;
    display: inline-block;
    margin-right: 6px;
    margin-bottom: 6px;
    box-shadow: 0 2px 8px rgba(5, 150, 105, 0.12);
    transition: all 0.2s ease;
}
.heading-word-gold {
    color: #D97706 !important;
    background: rgba(217, 119, 6, 0.08);
    border: 1.5px solid rgba(217, 119, 6, 0.2);
    padding: 2px 10px;
    border-radius: 6px;
    font-weight: 800;
    display: inline-block;
    margin-right: 6px;
    margin-bottom: 6px;
    box-shadow: 0 2px 8px rgba(217, 119, 6, 0.12);
    transition: all 0.2s ease;
}
.heading-word-purple {
    color: #7E22CE !important;
    background: rgba(126, 34, 206, 0.08);
    border: 1.5px solid rgba(126, 34, 206, 0.2);
    padding: 2px 10px;
    border-radius: 6px;
    font-weight: 800;
    display: inline-block;
    margin-right: 6px;
    margin-bottom: 6px;
    box-shadow: 0 2px 8px rgba(126, 34, 206, 0.12);
    transition: all 0.2s ease;
}
.heading-word-rose {
    color: #E11D48 !important;
    background: rgba(225, 29, 72, 0.08);
    border: 1.5px solid rgba(225, 29, 72, 0.2);
    padding: 2px 10px;
    border-radius: 6px;
    font-weight: 800;
    display: inline-block;
    margin-right: 6px;
    margin-bottom: 6px;
    box-shadow: 0 2px 8px rgba(225, 29, 72, 0.12);
    transition: all 0.2s ease;
}

/* Header & Navigation */
.pfn-topbar {
  background-color: var(--dark);
  color: #E2E8F0;
  padding: 10px 0;
  font-size: 13px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}
.topbar-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.topbar-left {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 60%;
}
.breaking-label {
  background: linear-gradient(135deg, var(--danger), #B91C1C);
  color: #FFFFFF;
  padding: 4px 10px;
  font-weight: 700;
  font-size: 11px;
  border-radius: 4px;
  letter-spacing: 0.5px;
  animation: pulse 2s infinite;
}
.topbar-ticker {
  overflow: hidden;
  white-space: nowrap;
}
.ticker-text {
  display: inline-block;
  animation: ticker 25s linear infinite;
  padding-left: 100%;
}
@keyframes ticker {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(-100%, 0, 0); }
}
.topbar-right {
  display: flex;
  align-items: center;
  gap: 20px;
}
.topbar-right span {
  color: var(--text-muted);
}
.topbar-social a {
  color: var(--text-muted);
  margin-left: 12px;
  transition: color var(--transition-fast);
}
.topbar-social a:hover {
  color: var(--secondary);
}
.topbar-login {
  color: #FFFFFF !important;
  font-weight: 600;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.1);
  padding: 5px 14px;
  border-radius: 20px;
  transition: all var(--transition-fast);
  font-size: 12px;
}
.topbar-login:hover {
  background: var(--primary);
  box-shadow: var(--shadow-glow);
}

/* Sticky Glass Header */
.pfn-header {
  background: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  z-index: 100;
  padding: 16px 0;
  transition: all var(--transition-normal);
}
body.dark-mode .pfn-header {
  background: rgba(6, 9, 19, 0.8);
  border-bottom-color: var(--border);
}
.header-scrolled {
  padding: 10px 0;
  box-shadow: var(--shadow-md);
}
.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header-logo img {
  max-height: 50px;
  transition: max-height var(--transition-normal);
}
.header-scrolled .header-logo img {
  max-height: 40px;
}

/* Animated Search */
.header-search {
  position: relative;
  display: flex;
  align-items: center;
  width: 320px;
  transition: width var(--transition-normal);
}
.header-search:focus-within {
  width: 420px;
}
.header-search input {
  padding: 10px 48px 10px 18px;
  border-radius: 25px;
  border: 1.5px solid var(--border);
  font-size: 14px;
  background-color: var(--background);
  transition: all var(--transition-normal);
  color: var(--text-primary);
}
.header-search input:focus {
  background-color: var(--card-bg);
  border-color: var(--primary);
  box-shadow: 0 0 0 4px rgba(232, 37, 26, 0.14);
  outline: none;
}
.search-btn {
  position: absolute;
  right: 14px;
  background: none;
  border: none;
  color: var(--text-secondary);
  cursor: pointer;
}
.search-results {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  margin-top: 8px;
  max-height: 350px;
  overflow-y: auto;
  z-index: 200;
  display: none;
}
.search-result-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  text-decoration: none;
  color: var(--text-primary);
  border-bottom: 1px solid var(--border);
  transition: background-color var(--transition-fast);
}
.search-result-item:hover {
  background-color: var(--light);
  color: var(--primary);
}
.search-result-item img {
  width: 45px;
  height: 45px;
  object-fit: cover;
  border-radius: 6px;
}

/* Glass Navigation Bar */
.pfn-nav {
  background-color: var(--card-bg);
  border-bottom: 1px solid var(--border);
  padding: 0;
}
.nav-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.nav-menu {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav-menu li {
  position: relative;
}
.nav-menu a {
  display: block;
  padding: 16px 18px;
  color: var(--text-secondary);
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  transition: all var(--transition-fast);
  border-bottom: 3px solid transparent;
}
.nav-menu a:hover, .nav-menu li.active a {
  color: var(--primary);
  border-bottom-color: var(--primary);
  background: rgba(232, 37, 26, 0.03);
}

.theme-toggle, .nav-search-toggle {
  background: none;
  border: none;
  color: var(--text-secondary);
  font-size: 16px;
  cursor: pointer;
  padding: 8px;
  border-radius: 50%;
  transition: background-color var(--transition-fast);
}
.theme-toggle:hover, .nav-search-toggle:hover {
  background-color: var(--light);
  color: var(--primary);
}

/* ============================================
   Hero Section — Redesigned with Motion
   ============================================ */
.hero-section {
  padding: 30px 0;
}
.hero-slider {
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  position: relative;
  border: 1px solid var(--border);
  isolation: isolate;
}
.hero-slider::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, rgba(232,37,26,0.5), rgba(255,107,0,0.15) 40%, transparent 70%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: 5;
}
.hero-image-wrapper {
  position: relative;
  height: 500px;
  overflow: hidden;
}
.hero-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 0.6s ease;
}
.carousel-item.active .hero-image-wrapper img {
  animation: heroKenBurns 9s ease-in-out forwards;
}
@keyframes heroKenBurns {
  0%   { transform: scale(1) translate(0, 0); }
  100% { transform: scale(1.12) translate(-1%, -1%); }
}
.hero-overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(to top, rgba(13,13,13,0.96) 12%, rgba(13,13,13,0.55) 55%, rgba(58,10,5,0.15) 100%);
}
.carousel-caption {
  left: 40px;
  right: 40px;
  bottom: 45px;
  text-align: left;
  padding: 0;
  z-index: 3;
}
.carousel-caption .category-badge,
.carousel-caption h2,
.carousel-caption p,
.carousel-caption .hero-meta {
  opacity: 0;
  transform: translateY(24px);
}
.carousel-item.active .carousel-caption .category-badge {
  animation: heroCaptionIn 0.65s cubic-bezier(0.22, 1, 0.36, 1) 0.15s forwards;
}
.carousel-item.active .carousel-caption h2 {
  animation: heroCaptionIn 0.65s cubic-bezier(0.22, 1, 0.36, 1) 0.3s forwards;
}
.carousel-item.active .carousel-caption p {
  animation: heroCaptionIn 0.65s cubic-bezier(0.22, 1, 0.36, 1) 0.45s forwards;
}
.carousel-item.active .carousel-caption .hero-meta {
  animation: heroCaptionIn 0.65s cubic-bezier(0.22, 1, 0.36, 1) 0.6s forwards;
}
@keyframes heroCaptionIn {
  to { opacity: 1; transform: translateY(0); }
}
.carousel-caption h2 {
  font-size: 32px;
  font-weight: 800;
  color: #FFFFFF;
  line-height: 1.25;
  margin-top: 12px;
  margin-bottom: 12px;
  text-shadow: 0 2px 10px rgba(0,0,0,0.4);
}
.carousel-caption p {
  color: rgba(253, 246, 244, 0.85);
  font-size: 15px;
  line-height: 1.5;
  margin-bottom: 20px;
}
.category-badge {
  display: inline-block;
  color: #FFFFFF;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  padding: 6px 14px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  box-shadow: 0 4px 14px rgba(232, 37, 26, 0.35);
}
.hero-meta {
  color: rgba(253, 246, 244, 0.65);
  font-size: 13px;
}
.live-pulse-dot {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #FF6B6B;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.5px;
}
.live-pulse-dot span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #E8251A;
  box-shadow: 0 0 0 rgba(232, 37, 26, 0.6);
  animation: livePulse 1.6s ease-out infinite;
}
@keyframes livePulse {
  0%   { box-shadow: 0 0 0 0 rgba(232, 37, 26, 0.6); }
  70%  { box-shadow: 0 0 0 8px rgba(232, 37, 26, 0); }
  100% { box-shadow: 0 0 0 0 rgba(232, 37, 26, 0); }
}

/* Custom glass arrow controls */
.hero-slider .carousel-control-prev,
.hero-slider .carousel-control-next {
  width: 48px;
  height: 48px;
  top: 50%;
  transform: translateY(-50%);
  bottom: auto;
  border-radius: 50%;
  background: rgba(13, 13, 13, 0.35);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,0.25);
  opacity: 0;
  transition: opacity 0.3s ease, background 0.3s ease, transform 0.3s ease;
  z-index: 4;
}
.hero-slider:hover .carousel-control-prev,
.hero-slider:hover .carousel-control-next {
  opacity: 1;
}
.hero-slider .carousel-control-prev { left: 20px; }
.hero-slider .carousel-control-next { right: 20px; }
.hero-slider .carousel-control-prev:hover,
.hero-slider .carousel-control-next:hover {
  background: var(--primary);
  transform: translateY(-50%) scale(1.08);
}
.hero-slider .carousel-control-prev-icon,
.hero-slider .carousel-control-next-icon {
  width: 18px;
  height: 18px;
}

/* Redesigned indicators — pill progress style */
.hero-slider .carousel-indicators {
  bottom: 45px;
  right: 40px;
  left: auto;
  width: auto;
  margin: 0;
  gap: 8px;
  justify-content: flex-end;
}
.carousel-indicators [data-bs-target] {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: rgba(253, 246, 244, 0.4);
  border: none;
  margin: 0;
  opacity: 1;
  transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
.carousel-indicators [data-bs-target]:hover {
  background-color: rgba(253, 246, 244, 0.7);
}
.carousel-indicators .active {
  width: 28px;
  border-radius: 5px;
  background: linear-gradient(90deg, var(--primary), var(--secondary));
  box-shadow: 0 0 10px rgba(232, 37, 26, 0.6);
}

/* Section title bolt icon pulse */
.section-title-sm .fa-bolt {
  animation: boltPulse 1.8s ease-in-out infinite;
}
@keyframes boltPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.55; transform: scale(1.15); }
}

@media (max-width: 767px) {
  .hero-image-wrapper { height: 320px; }
  .carousel-caption { left: 20px; right: 20px; bottom: 25px; }
  .carousel-caption h2 { font-size: 22px; }
  .hero-slider .carousel-indicators { right: 20px; bottom: 25px; }
}

/* Category icons section */
.category-icons-section {
  padding: 10px 0 30px 0;
}
.category-icons-wrapper {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding: 10px 0;
  scrollbar-width: none;
}
.category-icons-wrapper::-webkit-scrollbar {
  display: none;
}
.category-icon-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: var(--text-primary);
  min-width: 80px;
  transition: transform var(--transition-fast);
}
.category-icon-item:hover {
  transform: translateY(-6px) scale(1.06);
  color: var(--primary);
}
.category-icon-circle {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--card-bg);
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: var(--cat-color, var(--primary));
  box-shadow: var(--shadow-sm);
  transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.category-icon-item:hover .category-icon-circle {
  background-color: var(--cat-color, var(--primary));
  color: #FFFFFF;
  box-shadow: var(--shadow-glow), 0 8px 20px rgba(0,0,0,0.12);
  border-color: transparent;
  transform: rotate(-6deg);
}
.category-icon-item span {
  font-size: 13px;
  font-weight: 600;
}

/* News Cards Redesign */
.news-card {
  background-color: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: all var(--transition-normal);
  height: 100%;
  display: flex;
  flex-direction: column;
}
.news-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-lg), var(--shadow-glow);
  border-color: rgba(232, 37, 26, 0.15);
}
.news-image {
  position: relative;
  overflow: hidden;
  padding-top: 56.25%;
}
.news-image img {
  position: absolute;
  top: 0; width: 100%; height: 100%;
  object-fit: cover;
  transition: transform var(--transition-slow);
}
.news-card:hover .news-image img {
  transform: scale(1.04);
}
.news-image .category-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 10;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.news-content {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.news-content h4 {
  font-size: 18px;
  line-height: 1.4;
  margin-bottom: 10px;
  font-weight: 700;
}
.news-content h4 a {
  color: var(--text-primary);
  text-decoration: none;
  transition: color var(--transition-fast);
}
.news-content h4 a:hover {
  color: var(--primary);
}
.news-content p {
  color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 16px;
  flex-grow: 1;
}
.news-meta {
  display: flex;
  justify-content: space-between;
  color: var(--text-muted);
  font-size: 12px;
  font-weight: 600;
  border-top: 1px solid var(--border);
  padding-top: 12px;
}
.news-meta i {
  margin-right: 4px;
}

/* Compact layout style */
.news-card.compact .news-content {
  padding: 14px;
}
.news-card.compact h6 {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 8px;
}
.news-card.compact h6 a {
  color: var(--text-primary);
  text-decoration: none;
}
.news-card.compact h6 a:hover {
  color: var(--primary);
}

/* Sidebar and List Items */
.top-headlines {
  background-color: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 24px;
  box-shadow: var(--shadow-sm);
  margin-bottom: 24px;
}
.section-title-sm {
  font-size: 14px;
  letter-spacing: 0.05em;
  color: var(--primary);
  margin-bottom: 20px;
  border-bottom: 2px solid var(--primary);
  padding-bottom: 8px;
}
.headline-item {
  display: flex;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid var(--border);
}
.headline-item:last-child {
  border-bottom: none;
}
.headline-number {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 800;
  color: var(--border);
  line-height: 0.8;
}
.headline-content a {
  color: var(--text-primary);
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  display: block;
  margin-bottom: 6px;
  transition: color var(--transition-fast);
}
.headline-item:hover .headline-number {
  color: var(--primary);
}
.headline-item:hover .headline-content a {
  color: var(--primary);
}
.headline-meta {
  font-size: 11px;
  color: var(--text-muted);
}

/* Today's ePaper Card redesign */
.today-epaper-card {
  background-color: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 24px;
  box-shadow: var(--shadow-sm);
}
.epaper-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
}
.epaper-card-header h5 {
  font-size: 15px;
  margin-bottom: 0;
}
.epaper-card-header a {
  font-size: 13px;
  color: var(--primary);
  text-decoration: none;
  font-weight: 600;
}
.epaper-card-body {
  display: flex;
  gap: 16px;
}
.epaper-thumb {
  width: 90px;
  border-radius: var(--radius-sm);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--border);
  transition: transform var(--transition-fast);
}
.epaper-thumb:hover {
  transform: translateY(-2px);
}
.epaper-card-info {
  flex-grow: 1;
}
.epaper-card-info h6 {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 4px;
}
.epaper-card-info p {
  font-size: 12px;
  color: var(--text-secondary);
  margin-bottom: 12px;
}
.epaper-card-actions {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}
.btn-read {
  background-color: var(--primary);
  color: #FFFFFF;
  border: none;
  font-size: 12px;
  padding: 6px 14px;
  border-radius: 15px;
  font-weight: 600;
}
.btn-download {
  background-color: var(--light);
  color: var(--text-primary);
  border: 1px solid var(--border);
  padding: 6px 10px;
  border-radius: 50%;
  font-size: 12px;
}
.epaper-share {
  display: flex;
  gap: 10px;
}
.epaper-share a {
  color: var(--text-muted);
  font-size: 14px;
  transition: color var(--transition-fast);
}
.epaper-share a:hover {
  color: var(--primary);
}

/* Video grid horizontal scroll */
.video-scroll {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  padding-bottom: 16px;
  scrollbar-width: thin;
}
.video-card {
  min-width: 280px;
  max-width: 280px;
  background-color: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 12px;
  box-shadow: var(--shadow-sm);
  transition: transform var(--transition-fast);
}
.video-card:hover {
  transform: translateY(-4px);
}
.video-thumb {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 10px;
  padding-top: 56.25%;
}
.video-thumb img {
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
  object-fit: cover;
}
.play-overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(9, 13, 22, 0.45);
  color: #FFFFFF;
  font-size: 40px;
  opacity: 0.85;
  transition: all var(--transition-fast);
}
.video-card:hover .play-overlay {
  opacity: 1;
  transform: scale(1.08);
  color: var(--danger);
  text-shadow: 0 0 15px rgba(239, 68, 68, 0.4);
}
.video-duration {
  position: absolute;
  bottom: 8px;
  right: 8px;
  background: rgba(0,0,0,0.8);
  color: #fff;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 700;
}
.video-card h5 {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 8px;
  height: 40px;
  overflow: hidden;
}
.video-card h5 a {
  color: var(--text-primary);
  text-decoration: none;
}
.video-meta {
  font-size: 11px;
  color: var(--text-muted);
}

/* Premium Footer */
.pfn-footer {
  background-color: var(--dark);
  color: #94A3B8;
  border-top: 4px solid var(--primary);
  font-family: var(--font-sans);
}
.footer-logo img {
  max-height: 48px;
}
.footer-tagline {
  color: #FFFFFF;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  margin-bottom: 12px;
}
.footer-desc {
  font-size: 13px;
  line-height: 1.6;
}
.footer-title {
  color: #FFFFFF;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 24px;
  letter-spacing: 0.05em;
}
.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-links li {
  margin-bottom: 10px;
}
.footer-links a {
  color: #94A3B8;
  text-decoration: none;
  font-size: 13px;
  transition: all var(--transition-fast);
}
.footer-links a:hover {
  color: #FFFFFF;
  padding-left: 4px;
}
.social-links {
  display: flex;
  gap: 12px;
}
.social-links a {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: rgba(255,255,255,0.06);
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition-fast);
  text-decoration: none;
}
.social-links a:hover {
  background-color: var(--primary);
  transform: translateY(-2px);
}
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.05);
  padding: 24px 0;
  margin-top: 30px;
  font-size: 12px;
}
.made-in i {
  animation: heartbeat 1.5s infinite;
}
@keyframes heartbeat {
  0% { transform: scale(1); }
  50% { transform: scale(1.15); }
  100% { transform: scale(1); }
}

/* Mobile Bottom Navigation */
.mobile-bottom-nav {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  height: 60px;
  background-color: var(--card-bg);
  border-top: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-around;
  z-index: 990;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.05);
}
.mobile-nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-decoration: none;
  color: var(--text-secondary);
  font-size: 10px;
  font-weight: 600;
  transition: color var(--transition-fast);
}
.mobile-nav-item:hover, .mobile-nav-item.active {
  color: var(--primary);
}
.mobile-nav-item i {
  font-size: 18px;
}
.mobile-nav-highlight {
  position: relative;
  top: -10px;
  width: 50px;
  height: 50px;
  background: linear-gradient(135deg, var(--primary), var(--secondary));
  border-radius: 50%;
  color: #FFFFFF !important;
  justify-content: center;
  box-shadow: 0 6px 16px rgba(37,99,235,0.3);
}
.mobile-nav-highlight i {
  font-size: 20px;
}
.mobile-nav-highlight span {
  display: none;
}

/* Live TV Badge & Components */
.live-tv-player {
  background: #000;
  border-radius: var(--radius-lg);
  overflow: hidden;
  min-height: 420px;
  position: relative;
  box-shadow: var(--shadow-lg);
}
.live-badge-large {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, var(--danger), #B91C1C);
  color: #fff;
  padding: 6px 14px;
  border-radius: 20px;
  font-weight: 700;
  font-size: 0.85rem;
  margin-bottom: 12px;
}

/* List Item Styles */
.list-news-item {
  display: flex;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--border);
  transition: transform 0.25s ease;
}
.list-news-item:hover {
  transform: translateX(4px);
}
.list-news-item:last-child {
  border-bottom: none;
}
.list-news-thumb {
  width: 90px;
  height: 60px;
  border-radius: 6px;
  overflow: hidden;
  flex-shrink: 0;
}
.list-news-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.list-news-item:hover .list-news-thumb img {
  transform: scale(1.12);
}
.list-news-content h6 {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 4px;
}
.list-news-content h6 a {
  color: var(--text-primary);
  text-decoration: none;
}
.list-news-content h6 a:hover {
  color: var(--primary);
}

/* Scroll Reveal Utility */
.reveal-up {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.reveal-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.reveal-stagger.is-visible > * {
  animation: revealStaggerIn 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  opacity: 0;
}
.reveal-stagger.is-visible > *:nth-child(1) { animation-delay: 0.05s; }
.reveal-stagger.is-visible > *:nth-child(2) { animation-delay: 0.15s; }
.reveal-stagger.is-visible > *:nth-child(3) { animation-delay: 0.25s; }
.reveal-stagger.is-visible > *:nth-child(4) { animation-delay: 0.35s; }
@keyframes revealStaggerIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .reveal-up, .reveal-stagger > * { opacity: 1 !important; transform: none !important; animation: none !important; transition: none !important; }
}

/* Sections margin and visual title structure */
.content-section {
  margin-bottom: 48px;
}
.section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  border-bottom: 2px solid var(--border);
  padding-bottom: 12px;
}
.section-title {
  font-size: 20px;
  font-weight: 800;
  margin-bottom: 0;
  position: relative;
}
.section-title::after {
  content: "";
  position: absolute;
  bottom: -14px;
  left: 0;
  width: 60px;
  height: 3px;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--primary), var(--secondary));
  transition: width 0.4s ease;
}
.section-header:hover .section-title::after {
  width: 90px;
}
.view-all {
  font-size: 13px;
  color: var(--primary);
  text-decoration: none;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.view-all i {
  transition: transform 0.25s ease;
}
.view-all:hover i {
  transform: translateX(4px);
}

/* Sidebar Card Styling */
.pfn-sidebar {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.sidebar-card {
  background-color: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 24px;
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}
.sidebar-card .card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
  border-bottom: 2px solid var(--border);
  padding-bottom: 10px;
}
.sidebar-card .card-header h5 {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 0;
  color: var(--text-primary);
}
.trending-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.trending-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.trending-number {
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 800;
  color: var(--border);
  line-height: 1;
}
.trending-content a {
  font-size: 13px;
  font-weight: 700;
  color: var(--text-primary);
  text-decoration: none;
  line-height: 1.4;
  display: block;
  margin-bottom: 4px;
  transition: color var(--transition-fast);
}
.trending-content a:hover {
  color: var(--primary);
}
.trending-meta {
  font-size: 11px;
  color: var(--text-muted);
}
.latest-mini-item {
  display: flex;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--border);
  text-decoration: none;
  color: var(--text-primary);
  transition: background-color var(--transition-fast);
}
.latest-mini-item:last-child {
  border-bottom: none;
}
.latest-mini-item:hover {
  background-color: var(--light);
}
.latest-mini-item img {
  width: 70px;
  height: 50px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
}
.latest-mini-item h6 {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 4px;
}
.epaper-thumb-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.epaper-thumb-item {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
  transition: transform var(--transition-fast);
}
.epaper-thumb-item:hover {
  transform: translateY(-2px);
}
.epaper-thumb-item img {
  width: 100%;
  height: 120px;
  object-fit: cover;
}
.epaper-thumb-date {
  position: absolute;
  bottom: 8px; left: 8px;
  background-color: var(--primary);
  color: #FFFFFF;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 4px;
}
.why-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.why-list li {
  font-size: 13px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Article Page Redesign */
.breadcrumb-section {
  padding: 16px 0;
  background-color: var(--light);
  border-bottom: 1px solid var(--border);
  margin-bottom: 30px;
}
.breadcrumb {
  margin: 0;
  font-size: 13px;
}
.breadcrumb-item a {
  color: var(--text-secondary);
  text-decoration: none;
  transition: color var(--transition-fast);
}
.breadcrumb-item a:hover {
  color: var(--primary);
}
.breadcrumb-item.active {
  color: var(--text-muted);
}
.article-page {
  padding-bottom: 60px;
}
.article-main {
  background-color: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 40px;
  box-shadow: var(--shadow-sm);
  margin-bottom: 30px;
}
.category-badge-lg {
  display: inline-block;
  color: #FFFFFF;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 11px;
  padding: 6px 14px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 14px;
}
.breaking-badge-lg {
  display: inline-block;
  background: linear-gradient(135deg, var(--danger), #B91C1C);
  color: #FFFFFF;
  padding: 6px 14px;
  font-weight: 700;
  font-size: 11px;
  border-radius: 20px;
  letter-spacing: 0.5px;
  margin-bottom: 14px;
  margin-left: 6px;
}
.article-title {
  font-size: 32px;
  font-weight: 800;
  line-height: 1.35;
  margin-top: 10px;
  margin-bottom: 14px;
  color: var(--text-primary);
}
.article-subtitle {
  font-size: 18px;
  font-weight: 500;
  color: var(--text-secondary);
  line-height: 1.5;
  margin-bottom: 24px;
}
.article-meta-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 14px 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  margin-bottom: 30px;
  font-size: 13px;
  color: var(--text-secondary);
}
.meta-left {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
}
.reporter-link {
  color: var(--primary);
  text-decoration: none;
  font-weight: 600;
}
.article-featured-image {
  margin-bottom: 30px;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  border: 1px solid var(--border);
}
.image-caption {
  font-size: 12px;
  color: var(--text-secondary);
  padding: 10px 16px;
  background-color: var(--light);
  margin: 0;
  border-left: 3px solid var(--primary);
}
.article-toolbar {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
}
.article-body {
  font-family: var(--font-sans);
  font-size: 17px;
  line-height: 1.85;
  color: var(--text-primary);
}
.article-body p {
  margin-bottom: 24px;
}
.article-body img,
.article-content img,
.news-content img {
  max-width: 100% !important;
  width: auto;
  height: auto !important;
  border-radius: 8px;
  margin: 20px auto;
  display: block;
  object-fit: contain;
}
.article-body figure.image,
.article-content figure.image,
.news-content figure.image {
  max-width: 100% !important;
  width: 100% !important;
  margin: 24px auto;
  text-align: center;
  display: block;
}
.article-body figure.image img,
.article-content figure.image img,
.news-content figure.image img {
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  border-radius: 8px;
  display: block;
  margin: 0 auto;
  object-fit: contain;
}
.article-body figure.image figcaption,
.article-content figure.image figcaption {
  font-size: 13px;
  color: var(--text-secondary);
  margin-top: 8px;
  font-style: italic;
  text-align: center;
}
.article-body figure.image.image-style-side {
  float: right;
  max-width: 50% !important;
  margin-left: 20px;
  margin-bottom: 20px;
}
.article-body figure.image.image-style-align-left {
  float: left;
  max-width: 50% !important;
  margin-right: 20px;
  margin-bottom: 20px;
}
.article-body figure.image.image-style-align-center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.article-body figure.image.image-style-align-right {
  float: right;
  max-width: 50% !important;
  margin-left: 20px;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  .article-body img,
  .article-content img,
  .news-content img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    margin: 16px auto !important;
  }
  .article-body figure.image,
  .article-content figure.image,
  .news-content figure.image {
    width: 100% !important;
    max-width: 100% !important;
    margin: 16px auto !important;
  }
  .article-body figure.image img,
  .article-content figure.image img,
  .news-content figure.image img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
  }
  .article-body figure.image.image-style-side,
  .article-body figure.image.image-style-align-left,
  .article-body figure.image.image-style-align-right {
    float: none !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 16px auto !important;
  }
}
.article-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid var(--border);
}
.tag-link {
  background-color: var(--light);
  border: 1px solid var(--border);
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 12px;
  color: var(--text-secondary);
  text-decoration: none;
  transition: all var(--transition-fast);
}
.tag-link:hover {
  background-color: var(--primary);
  color: #FFFFFF;
  border-color: var(--primary);
  transform: translateY(-1px);
}
.related-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.related-list li a {
  display: flex;
  gap: 12px;
  align-items: center;
  text-decoration: none;
  color: var(--text-primary);
  font-size: 13px;
  font-weight: 700;
  transition: color var(--transition-fast);
}
.related-list li img {
  width: 60px;
  height: 45px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
}
.related-list li a:hover {
  color: var(--primary);
}
.author-bio-card {
  background-color: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 24px;
  box-shadow: var(--shadow-sm);
  margin-top: 24px;
}
.comments-section {
  background-color: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 30px;
  box-shadow: var(--shadow-sm);
  margin-top: 30px;
}
.comment-item {
  border-bottom: 1px solid var(--border);
  padding: 16px 0;
}
.comment-item:last-child {
  border-bottom: none;
}
.comment-item strong {
  color: var(--text-primary);
}
.comment-item p {
  color: var(--text-secondary);
  font-size: 14px;
  margin-top: 6px;
}

/* ePaper Page Styling */
.epaper-hero {
  padding: 40px 0;
  background-color: var(--light);
  border-bottom: 1px solid var(--border);
  margin-bottom: 40px;
}
.epaper-hero-inner {
  background-color: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 30px;
  box-shadow: var(--shadow-sm);
}
.epaper-today-preview {
  display: flex;
  justify-content: center;
  align-items: center;
}
.epaper-today-preview img {
  max-height: 380px;
  object-fit: cover;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  border: 1px solid var(--border);
}
.epaper-placeholder {
  width: 100%;
  height: 300px;
  background-color: var(--light);
  border-radius: var(--radius-md);
  border: 2px dashed var(--border);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.epaper-today-info h1 {
  font-size: 32px;
  font-weight: 800;
  margin-top: 10px;
  margin-bottom: 14px;
}
.epaper-label {
  display: inline-block;
  background-color: rgba(232, 37, 26, 0.1);
  color: var(--primary);
  padding: 4px 12px;
  font-weight: 700;
  font-size: 11px;
  border-radius: 20px;
  text-transform: uppercase;
}
.epaper-date {
  font-size: 14px;
  color: var(--text-secondary);
  margin-bottom: 16px;
}
.epaper-desc {
  font-size: 14px;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 24px;
}
.epaper-actions {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
}
.archive-filter-bar {
  background-color: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 24px;
  box-shadow: var(--shadow-sm);
  margin-bottom: 40px;
}
.epaper-card {
  background-color: #FFFFFF;
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  display: flex;
  flex-direction: column;
  height: 100%;
}
.epaper-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
  border-color: rgba(232, 37, 26, 0.2);
}
.epaper-card .epaper-thumb {
  position: relative;
  overflow: hidden;
  padding-top: 130%;
  width: 100% !important;
  background-color: #FFFFFF;
  border-bottom: 1px solid var(--border);
}
.epaper-card .epaper-thumb img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.95);
  width: 90%;
  height: 90%;
  object-fit: contain;
  background-color: #FFFFFF;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s ease;
}
.epaper-card:hover .epaper-thumb img {
  transform: translate(-50%, -50%) scale(0.98);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}
.epaper-overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: rgba(9, 13, 22, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity var(--transition-fast);
  backdrop-filter: blur(4px);
}
.epaper-card:hover .epaper-overlay {
  opacity: 1;
}
.epaper-info {
  padding: 16px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.epaper-info h6 {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 8px;
  line-height: 1.4;
  height: 40px;
  overflow: hidden;
}
.epaper-actions-small {
  display: flex;
  gap: 8px;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

/* Classifieds & Directory Listing Card */
.classified-card {
  background-color: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 20px;
  box-shadow: var(--shadow-sm);
  transition: all var(--transition-normal);
  height: 100%;
  display: flex;
  flex-direction: column;
}
.classified-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg), var(--shadow-glow);
  border-color: rgba(232, 37, 26, 0.15);
}
.classified-card h5 {
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 8px;
  line-height: 1.4;
}
.classified-card p {
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.5;
  margin-bottom: 12px;
  flex-grow: 1;
}

/* Category Hero Styling */
.category-hero {
  padding: 40px 0;
  background-color: var(--light);
  border-bottom: 3px solid var(--primary);
  margin-bottom: 40px;
}
.category-hero h1 {
  font-size: 32px;
  font-weight: 800;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.category-hero p {
  color: var(--text-secondary);
  font-size: 14px;
  margin-bottom: 0;
}
.result-count {
  font-size: 12px;
  color: var(--text-muted);
  font-weight: 600;
}
.empty-state {
  text-align: center;
  padding: 60px 20px;
  background-color: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

/* ============================================
   🤖 Premium Redesign Modifications & Animations
   ============================================ */

/* Sticky Header Scroll backdrop blur */
.header-scrolled {
  backdrop-filter: blur(25px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(25px) saturate(180%) !important;
  background: rgba(255, 255, 255, 0.8) !important;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body.dark-mode .header-scrolled {
  background: rgba(17, 24, 39, 0.85) !important;
}

/* Live TV Button Glow */
.btn-glow-live {
  position: relative;
  box-shadow: 0 0 15px rgba(255, 90, 31, 0.4);
  animation: liveGlow 2s infinite alternate;
}
@keyframes liveGlow {
  from { box-shadow: 0 0 8px rgba(255, 90, 31, 0.3); }
  to { box-shadow: 0 0 20px rgba(255, 90, 31, 0.7); }
}

/* Animated Login Gradient Button */
.topbar-login {
  background: linear-gradient(135deg, var(--primary), var(--secondary)) !important;
  border: none !important;
  position: relative;
  overflow: hidden;
}
.topbar-login::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
  transition: 0.5s;
}
.topbar-login:hover::before {
  left: 100%;
}

/* Notification Bell Breathing Animation */
.notification-bell i {
  animation: bellSwing 4s infinite ease-in-out;
}
@keyframes bellSwing {
  0%, 100% { transform: rotate(0); }
  10%, 30% { transform: rotate(10deg); }
  20%, 40% { transform: rotate(-10deg); }
  50% { transform: rotate(0); }
}

/* News Cards Actions & Hover Lift */
.hover-lift {
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.hover-lift:hover {
  transform: translateY(-8px) !important;
  box-shadow: var(--shadow-lg), var(--shadow-glow) !important;
}
.news-image {
  overflow: hidden;
  position: relative;
  border-radius: var(--radius-md) var(--radius-md) 0 0;
}
.news-image img {
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.news-card:hover .news-image img {
  transform: scale(1.08) !important;
}
.news-card-actions {
  position: absolute;
  top: 12px; right: 12px;
  display: flex;
  gap: 8px;
  opacity: 0;
  transform: translateY(-5px);
  transition: all 0.3s ease;
  z-index: 10;
}
.news-card:hover .news-card-actions {
  opacity: 1;
  transform: translateY(0);
}
.action-btn {
  width: 32px; height: 32px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(4px);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 13px;
  color: var(--dark);
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  transition: all 0.2s;
}
.action-btn:hover {
  background: var(--primary);
  color: #fff;
  transform: scale(1.1);
}

/* Category Nav items hover scales */
.category-icon-circle {
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.category-icon-item:hover .category-icon-circle {
  transform: scale(1.15) rotate(8deg);
  box-shadow: 0 5px 22px var(--cat-color);
}

/* ePaper 3D Hover tilt */
.epaper-card {
  perspective: 1000px;
}
.epaper-thumb {
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
  transform-style: preserve-3d;
}
.epaper-card:hover .epaper-thumb {
  transform: rotateY(15deg) rotateX(8deg) scale(1.02);
}

/* Footer SVG wave infinite animation */
.footer-wave {
  fill: var(--footer-bg);
}
.parallax-waves > use {
  animation: move-forever 20s cubic-bezier(.55,.5,.45,.5) infinite;
}
.parallax-waves > use:nth-child(1) {
  animation-delay: -2s;
  animation-duration: 7s;
}
.parallax-waves > use:nth-child(2) {
  animation-delay: -3s;
  animation-duration: 10s;
}
.parallax-waves > use:nth-child(3) {
  animation-delay: -4s;
  animation-duration: 13s;
}
.parallax-waves > use:nth-child(4) {
  animation-delay: -5s;
  animation-duration: 18s;
}
@keyframes move-forever {
  0% { transform: translate3d(-90px,0,0); }
  100% { transform: translate3d(85px,0,0); }
}

/* Live indicators breathing pulses */
.pulse-live {
  background-color: var(--primary) !important;
  animation: pulseLive 1.4s infinite alternate;
}
@keyframes pulseLive {
  from { opacity: 0.65; transform: scale(0.96); }
  to { opacity: 1; transform: scale(1.03); }
}

/* Reading Progress Bar */
.reading-progress-bar {
  position: fixed;
  top: 0; left: 0;
  width: 0%;
  height: 4px;
  background: linear-gradient(90deg, var(--primary), var(--secondary));
  z-index: 2000;
  transition: width 0.1s ease-out;
}

/* Floating Sticky Social Share Bar */
.sticky-share-bar {
  position: fixed;
  left: 20px;
  top: 35%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 900;
}
.sticky-share-bar .share-btn {
  width: 42px; height: 42px;
  border-radius: 50%;
  border: none;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.15);
  transition: all 0.3s ease;
  text-decoration: none;
}
.sticky-share-bar .share-btn:hover {
  transform: scale(1.15) translateX(4px);
}
.wa-share { background-color: #25D366; }
.tw-share { background-color: #000000; }
.fb-share { background-color: #1877F2; }
.tg-share { background-color: #229ED9; }
.copy-share { background-color: var(--primary); }

@media (max-width: 991px) {
  .sticky-share-bar {
    position: fixed;
    top: auto;
    bottom: 0;
    left: 0; right: 0;
    flex-direction: row;
    justify-content: center;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(10px);
    padding: 8px 0;
    border-top: 1px solid var(--border);
    width: 100%;
    border-radius: 0;
  }
  .sticky-share-bar .share-btn {
    width: 36px; height: 36px;
    font-size: 14px;
  }
}

/* Skeleton Shimmer Loaders */
.skeleton-loader {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: skeletonShimmer 1.5s infinite;
  border-radius: 8px;
}
@keyframes skeletonShimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Category Header Bar - Sanje Madyam Inspired */
.cat-header-bar {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  padding: 12px 18px;
  background: linear-gradient(90deg, rgba(255, 90, 31, 0.08) 0%, var(--card-bg) 80%);
  color: var(--primary);
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
  border: 1px solid var(--border);
  border-left: 6px solid var(--primary);
}
.cat-header-bar i {
  background: rgba(255, 90, 31, 0.12);
  padding: 8px 12px;
  border-radius: 6px;
  margin-right: 14px;
  color: var(--primary);
  font-size: 18px;
}
.cat-title-text {
  color: var(--text-primary);
  font-size: 19px;
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: 0;
}

/* ========================================================
   ✨ FULL ATTRACTIVE STYLISH ANIMATIONS & MICRO-INTERACTIONS
   ======================================================== */

/* Spring Hover Elevation for Cards */
.news-card, .category-block, .card {
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease, border-color 0.4s ease !important;
}
.news-card:hover, .category-block:hover {
  transform: translateY(-6px) scale(1.01) !important;
  box-shadow: 0 12px 30px rgba(255, 90, 31, 0.15), 0 4px 12px rgba(0,0,0,0.08) !important;
  border-color: rgba(255, 90, 31, 0.3) !important;
}

/* Image Light Sheen Effect on Hover */
.news-card .position-relative, .news-image-link {
  position: relative;
  overflow: hidden;
}
.news-card .position-relative::after, .news-image-link::after {
  content: '';
  position: absolute;
  top: 0; left: -150%;
  width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.35), transparent);
  transform: skewX(-25deg);
  transition: left 0.7s ease;
  pointer-events: none;
}
.news-card:hover .position-relative::after, .news-card:hover .news-image-link::after {
  left: 150%;
}

/* Glowing Pulsing Badges */
.badge.bg-danger, .breaking-badge-lg, .live-pulse-dot {
  animation: pulseGlow 1.8s infinite alternate ease-in-out;
}
@keyframes pulseGlow {
  0% { box-shadow: 0 0 4px rgba(220, 38, 38, 0.4); transform: scale(1); }
  100% { box-shadow: 0 0 14px rgba(220, 38, 38, 0.85); transform: scale(1.03); }
}

/* Dynamic Animated Gradient for Buttons */
.btn-primary, .btn-gradient-primary {
  background: linear-gradient(135deg, #FF5A1F, #FF7A1A, #F97316) !important;
  background-size: 200% 200% !important;
  animation: gradientFlow 5s ease infinite !important;
  border: none !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
.btn-primary:hover, .btn-gradient-primary:hover {
  transform: translateY(-2px) scale(1.04) !important;
  box-shadow: 0 6px 20px rgba(255, 90, 31, 0.45) !important;
}
@keyframes gradientFlow {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* Scroll Reveal Animations */
.reveal-up {
  animation: fadeInUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) both;
}
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(25px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Pulsing Icon Bounce */
.cat-header-bar i, .cat-header-bar .badge {
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.category-block:hover .cat-header-bar i, .category-block:hover .cat-header-bar .badge {
  transform: scale(1.2) rotate(6deg);
}

/* AI Assistant Floating Aura & Breathing Ring */
.ai-fab-btn {
  position: relative;
  animation: aiPulseGlow 2.5s infinite ease-in-out alternate;
}
.ai-fab-btn::before {
  content: '';
  position: absolute;
  top: -6px; left: -6px; right: -6px; bottom: -6px;
  border-radius: 50%;
  border: 2px solid var(--primary);
  animation: ringExpand 2s infinite ease-out;
  pointer-events: none;
}
@keyframes aiPulseGlow {
  0% { box-shadow: 0 0 10px rgba(255, 90, 31, 0.4), 0 0 25px rgba(255, 90, 31, 0.2); transform: translateY(0); }
  100% { box-shadow: 0 0 25px rgba(255, 90, 31, 0.8), 0 0 45px rgba(255, 90, 31, 0.4); transform: translateY(-5px); }
}
@keyframes ringExpand {
  0% { transform: scale(0.9); opacity: 0.9; }
  100% { transform: scale(1.3); opacity: 0; }
}

/* Button Click Ripple Animation */
.btn, .action-btn, .share-btn {
  position: relative;
  overflow: hidden;
}
.ripple-effect {
  position: absolute;
  border-radius: 50%;
  transform: scale(0);
  animation: rippleAnim 0.6s linear;
  background-color: rgba(255, 255, 255, 0.5);
  pointer-events: none;
}
@keyframes rippleAnim {
  to { transform: scale(4); opacity: 0; }
}

/* Ken Burns Auto-Zoom Slider Animation */
.carousel-item.active .kenburns-img {
  animation: kenburnsZoom 7s infinite alternate ease-in-out;
}
@keyframes kenburnsZoom {
  0% { transform: scale(1); }
  100% { transform: scale(1.09); }
}

.hero-slider .carousel-indicators button {
  background-color: rgba(255, 90, 31, 0.4) !important;
  border: none !important;
  transition: all 0.3s ease !important;
}
.hero-slider .carousel-indicators button.active {
  background-color: var(--primary) !important;
  width: 38px !important;
}

/* Hero Slider Text Slide-Up Caption Animation */
.carousel-item.active h4, .carousel-item.active .badge, .carousel-item.active .small {
  animation: slideUpCaption 0.8s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.carousel-item.active h4 { animation-delay: 0.1s; }
.carousel-item.active .small { animation-delay: 0.2s; }

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

/* Glowing Control Arrows */
.hero-slider .carousel-control-prev-icon, .hero-slider .carousel-control-next-icon {
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.3s ease, background-color 0.3s ease !important;
}
.hero-slider .carousel-control-prev:hover .carousel-control-prev-icon {
  transform: scale(1.18) translateX(-3px) !important;
  box-shadow: 0 0 18px rgba(255, 90, 31, 0.7) !important;
  background-color: var(--primary) !important;
}
.hero-slider .carousel-control-next:hover .carousel-control-next-icon {
  transform: scale(1.18) translateX(3px) !important;
  box-shadow: 0 0 18px rgba(255, 90, 31, 0.7) !important;
  background-color: var(--primary) !important;
}

/* Stylish & Vibrant Ultra-Attractive Footer Styling */
.pfn-footer {
  background: linear-gradient(135deg, #180828 0%, #0F172A 45%, #2A091A 100%) !important;
  color: #FFFFFF !important;
  border-top: 3px solid #FF5A1F !important;
  position: relative;
  overflow: hidden;
}
.pfn-footer::before {
  content: '';
  position: absolute;
  top: -60px; left: -60px;
  width: 280px; height: 280px;
  background: radial-gradient(circle, rgba(255, 90, 31, 0.22) 0%, transparent 70%);
  pointer-events: none;
}
.pfn-footer::after {
  content: '';
  position: absolute;
  bottom: -60px; right: -60px;
  width: 320px; height: 320px;
  background: radial-gradient(circle, rgba(245, 158, 11, 0.2) 0%, transparent 70%);
  pointer-events: none;
}
.pfn-footer h5, .pfn-footer h6, .footer-title, .footer-tagline {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  font-weight: 800 !important;
  letter-spacing: 0.5px;
  opacity: 1 !important;
}
.pfn-footer a {
  color: #E2E8F0 !important;
  transition: all 0.3s ease !important;
}
.pfn-footer a:hover {
  color: #FF5A1F !important;
  transform: translateX(4px);
}
.pfn-footer .text-muted {
  color: #CBD5E1 !important;
}
.pfn-footer p {
  color: #E2E8F0 !important;
}
.pfn-footer .social-links a {
  width: 42px; height: 42px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #F8FAFC !important;
  margin-right: 8px;
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}
.pfn-footer .social-links a:hover {
  background: linear-gradient(135deg, #FF5A1F, #FF7A1A) !important;
  color: #FFFFFF !important;
  transform: translateY(-4px) scale(1.15) !important;
  box-shadow: 0 0 18px rgba(255, 90, 31, 0.7) !important;
}

/* Hide scrollbar for category navigation */
.nav-menu::-webkit-scrollbar {
    display: none !important;
}

/* Premium Animations System */
@keyframes kenburns {
    0% { transform: scale(1); }
    50% { transform: scale(1.06); }
    100% { transform: scale(1); }
}
.kenburns-img {
    animation: kenburns 15s infinite ease-in-out;
}

@keyframes pulse {
    0% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.4); opacity: 0.5; }
    100% { transform: scale(1); opacity: 1; }
}
.pulse-dot {
    animation: pulse 1.2s infinite ease-in-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.animate-fade-in-up {
    animation: fadeInUp 0.6s cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
}

/* Smooth Interactive Card Hover Transitions */
.news-card, .video-card, .card {
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}
.news-card:hover, .video-card:hover, .card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08) !important;
}

/* Glassmorphic Actions Buttons */
.btn-glass {
    transition: all 0.25s ease !important;
}
.btn-glass:hover {
    transform: translateY(-2px) !important;
    background-color: rgba(255, 90, 31, 0.08) !important;
}

/* Category Page Responsive Stats Banner styles */
.stats-banner-card {
    background: linear-gradient(135deg, #FFF4F2 0%, #FFFDFD 100%);
    border: 1.5px solid #FFCDCB !important;
    min-height: 160px;
    position: relative;
    overflow: hidden;
}
/* Mobile styling */
@media (max-width: 767.98px) {
    .stats-banner-card {
        background-image: url('../images/globe_banner_bg.jpg') !important;
        background-repeat: no-repeat !important;
        background-position: right -20px center !important;
        background-size: 150px auto !important;
        padding: 15px !important;
    }
    .stats-banner-content {
        max-width: 65% !important;
    }
}
/* Desktop styling */
@media (min-width: 768px) {
    .stats-banner-card {
        background-image: url('../images/globe_banner_bg.jpg') !important;
        background-repeat: no-repeat !important;
        background-position: right center !important;
        background-size: contain !important;
        min-height: 200px;
        padding: 30px !important;
    }
    .stats-banner-content {
        max-width: 550px !important;
    }
}

/* ==========================================================================
   Article Page Mobile Responsive Spacing & Layout Ordering
   ========================================================================== */
@media (max-width: 991px) {
  .article-layout-row {
    display: flex !important;
    flex-direction: column !important;
  }
  .article-main-col {
    order: 1 !important;
  }
  .comments-section {
    margin-bottom: 0 !important;
  }
  .related-news-wrapper {
    order: 2 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  .related-news-section {
    margin-top: 24px !important;
    padding-top: 20px !important;
    border-top: 1.5px solid #eeeeee !important;
  }
  .article-sidebar-col {
    order: 3 !important;
    margin-top: 28px !important;
  }
  /* Collapse empty ad containers on mobile */
  .ad-box:empty,
  .ad-box-medium:empty,
  .ad-slot:empty,
  .ad-placeholder:empty,
  .sidebar-ad:empty,
  .ad-in-article:empty {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* ==========================================================================
   Mobile Related News: Compact & Controlled Image Sizing
   ========================================================================== */
@media (max-width: 767px) {
  .related-news-section .related-grid-swipe {
    display: flex !important;
    gap: 12px !important;
    overflow-x: auto !important;
    padding-bottom: 12px !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }
  .related-news-section .related-grid-swipe::-webkit-scrollbar {
    display: none !important;
  }
  .related-news-section .related-swipe-card {
    flex: 0 0 260px !important;
    max-width: 80vw !important;
    scroll-snap-align: start !important;
  }
  .related-news-section .related-card-modern {
    border-radius: 12px !important;
  }
  .related-news-section .related-card-img-wrapper {
    position: relative !important;
    width: 100% !important;
    height: 145px !important;
    max-height: 145px !important;
    min-height: 145px !important;
    padding-top: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
  }
  .related-news-section .related-card-img-wrapper img,
  .related-news-section .related-card-modern img,
  .related-news-section img {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 145px !important;
    max-height: 145px !important;
    min-height: 145px !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    margin: 0 !important;
    border-radius: 11px 11px 0 0 !important;
  }
  .related-news-section .related-card-body {
    padding: 12px 14px !important;
  }
  .related-news-section .related-card-category {
    font-size: 10.5px !important;
    margin-bottom: 4px !important;
  }
  .related-news-section .related-card-title {
    font-size: 13.5px !important;
    line-height: 1.4 !important;
    margin-bottom: 8px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
  .related-news-section .related-card-meta {
    font-size: 10.5px !important;
  }
}

/* Extra-small screens (320px–360px): Ultra-compact */
@media (max-width: 360px) {
  .related-news-section .related-swipe-card {
    flex: 0 0 225px !important;
    max-width: 82vw !important;
  }
  .related-news-section .related-card-img-wrapper {
    height: 125px !important;
    max-height: 125px !important;
    min-height: 125px !important;
  }
  .related-news-section .related-card-img-wrapper img,
  .related-news-section .related-card-modern img,
  .related-news-section img {
    height: 125px !important;
    max-height: 125px !important;
    min-height: 125px !important;
  }
  .related-news-section .related-card-title {
    font-size: 13px !important;
    -webkit-line-clamp: 2 !important;
  }
  .related-news-section .related-card-body {
    padding: 10px 12px !important;
  }
}

/* ==========================================================================
   PFN Attractive & Stylish Advertisements Showcase
   ========================================================================== */
.pfn-ad-wrapper {
  position: relative;
  width: 100%;
  clear: both;
}

.pfn-ad-card {
  position: relative;
  background: linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%);
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 16px;
  padding: 10px 14px 12px 14px;
  box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.05), 0 2px 6px -1px rgba(15, 23, 42, 0.02);
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.28s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.28s ease;
  overflow: hidden;
}

.pfn-ad-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #E8251A, #FF7A1A, #E8251A);
  opacity: 0.85;
  transition: opacity 0.28s ease;
}

.pfn-ad-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px -4px rgba(15, 23, 42, 0.09), 0 4px 10px -2px rgba(15, 23, 42, 0.04);
  border-color: rgba(232, 37, 26, 0.25);
}

.pfn-ad-card:hover::before {
  opacity: 1;
}

/* Header bar */
.pfn-ad-header {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  user-select: none;
}

.pfn-ad-badge {
  display: inline-flex;
  align-items: center;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: #64748B;
  background: #F1F5F9;
  padding: 3px 9px;
  border-radius: 20px;
  border: 1px solid rgba(203, 213, 225, 0.6);
  transition: all 0.2s ease;
}

.pfn-ad-card:hover .pfn-ad-badge {
  color: #E8251A;
  background: #FFF1F0;
  border-color: rgba(232, 37, 26, 0.2);
}

.pfn-ad-cta {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  font-weight: 600;
  color: #E8251A;
  background: rgba(232, 37, 26, 0.06);
  padding: 3px 10px;
  border-radius: 20px;
  border: 1px solid rgba(232, 37, 26, 0.15);
  transition: all 0.2s ease;
}

.pfn-ad-card:hover .pfn-ad-cta {
  background: #E8251A;
  color: #FFFFFF;
  border-color: #E8251A;
}

.pfn-ad-tag {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  font-weight: 600;
  color: #64748B;
  padding: 3px 8px;
}

/* Media wrapper & image */
.pfn-ad-media-wrapper {
  position: relative;
  display: inline-block;
  max-width: 100%;
  border-radius: 12px;
  background: #FFFFFF;
  border: 1px solid rgba(226, 232, 240, 0.8);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.pfn-ad-img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
  border-radius: 11px;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), filter 0.3s ease;
}

/* Hover overlay button */
.pfn-ad-hover-overlay {
  position: absolute;
  bottom: 12px;
  right: 12px;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.25s ease, transform 0.25s ease;
  pointer-events: none;
  z-index: 2;
}

.pfn-ad-hover-btn {
  display: inline-flex;
  align-items: center;
  background: rgba(15, 23, 42, 0.88);
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 20px;
  backdrop-filter: blur(4px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

.pfn-ad-link:hover .pfn-ad-hover-overlay {
  opacity: 1;
  transform: translateY(0);
}

.pfn-ad-link:hover .pfn-ad-img {
  transform: scale(1.008);
}

/* Position-specific tweaks */
.pfn-ad-header .pfn-ad-card {
  margin-top: 4px;
}

.pfn-ad-sidebar .pfn-ad-card {
  padding: 8px 10px 10px 10px;
  border-radius: 14px;
}

.pfn-ad-sidebar .pfn-ad-hover-overlay {
  display: none;
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
  .pfn-ad-card {
    border-radius: 12px;
    padding: 8px 10px 10px 10px;
  }
  .pfn-ad-media-wrapper {
    border-radius: 9px;
  }
  .pfn-ad-img {
    border-radius: 8px;
  }
  .pfn-ad-hover-overlay {
    display: none; /* Keep clean on touch screens */
  }
  .pfn-ad-badge {
    font-size: 9.5px;
    padding: 2px 7px;
  }
  .pfn-ad-cta {
    font-size: 10px;
    padding: 2px 8px;
  }
}
