
    /* ============================================================================
       PAGE LAYOUT
       ============================================================================ */

    body {
      padding-top: 0;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
    }

    main {
      flex: 1;
    }

    /* ============================================================================
       HEADER COMPONENT (Island Style)
       ============================================================================ */

    .app-header-wrapper {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: var(--z-sticky);
      padding: var(--space-4);
      pointer-events: none;
    }

    .app-header {
      max-width: 1200px;
      margin: 0 auto;
      background-color: var(--color-bg-elevated);
      border-radius: var(--radius-xl);
      box-shadow: var(--shadow-md);
      transition: var(--transition-all);
      pointer-events: auto;
    }

    .app-header.scrolled {
      box-shadow: var(--shadow-lg);
    }

    .header-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: var(--space-4) var(--space-6);
      gap: var(--space-6);
    }

    .header-logo {
      display: flex;
      align-items: center;
      text-decoration: none;
      flex-shrink: 0;
    }

    .header-logo img {
      height: 36px;
      width: auto;
      transition: var(--transition-all);
    }

    .header-logo:hover img {
      opacity: 0.8;
    }

    .main-nav {
      flex: 1;
      display: flex;
      justify-content: center;
    }

    .nav-list {
      display: flex;
      align-items: center;
      gap: var(--space-2);
      list-style: none;
      margin: 0;
      padding: 0;
    }

    .nav-link {
      display: block;
      padding: var(--space-2) var(--space-4);
      color: var(--color-text-secondary);
      text-decoration: none;
      font-size: var(--font-size-base);
      font-weight: var(--font-weight-medium);
      border-radius: var(--radius-md);
      transition: var(--transition-all);
    }

    .nav-link:hover {
      color: var(--color-text-primary);
      background-color: var(--color-bg-secondary);
      text-decoration: none;
    }

    .nav-link.active {
      color: var(--color-coral);
      background-color: rgba(255, 127, 80, 0.1);
    }

    .header-actions {
      display: flex;
      align-items: center;
      gap: var(--space-4);
      flex-shrink: 0;
    }

    .lang-switcher {
      display: flex;
      align-items: center;
      gap: var(--space-2);
      padding: var(--space-2) var(--space-3);
      background: var(--color-bg-secondary);
      border: 1px solid var(--color-border-subtle);
      border-radius: var(--radius-lg);
      color: var(--color-text-secondary);
      font-size: var(--font-size-sm);
      cursor: pointer;
      transition: var(--transition-all);
    }

    .lang-switcher:hover {
      background: var(--color-bg-tertiary);
      border-color: var(--color-border-default);
    }

    .lang-switcher svg {
      width: 16px;
      height: 16px;
    }

    .auth-buttons {
      display: flex;
      align-items: center;
      gap: var(--space-3);
    }

    .btn-login {
      padding: var(--space-2) var(--space-4);
      color: var(--color-text-primary);
      background: transparent;
      border: none;
      font-family: var(--font-family-body);
      font-size: var(--font-size-sm);
      font-weight: var(--font-weight-medium);
      cursor: pointer;
      border-radius: var(--radius-md);
      transition: var(--transition-all);
    }

    .btn-login:hover {
      background: var(--color-bg-secondary);
    }

    .btn-register {
      padding: var(--space-2) var(--space-4);
      background-color: var(--color-coral);
      color: white;
      border: none;
      font-family: var(--font-family-body);
      font-size: var(--font-size-sm);
      font-weight: var(--font-weight-medium);
      border-radius: var(--radius-md);
      cursor: pointer;
      transition: var(--transition-all);
    }

    .btn-register:hover {
      background-color: var(--color-coral-dark);
      transform: translateY(-1px);
    }

    /* Mobile Menu Button */
    .mobile-menu-btn {
      display: none;
      flex-direction: column;
      gap: 5px;
      padding: var(--space-2);
      background: none;
      border: none;
      cursor: pointer;
    }

    .mobile-menu-btn span {
      display: block;
      width: 24px;
      height: 2px;
      background-color: var(--color-text-primary);
      transition: var(--transition-all);
    }

    .mobile-menu-btn.open span:nth-child(1) {
      transform: rotate(45deg) translate(5px, 5px);
    }

    .mobile-menu-btn.open span:nth-child(2) {
      opacity: 0;
    }

    .mobile-menu-btn.open span:nth-child(3) {
      transform: rotate(-45deg) translate(5px, -5px);
    }

    /* Mobile Overlay */
    .mobile-overlay {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, 0.5);
      opacity: 0;
      visibility: hidden;
      transition: opacity var(--transition-normal), visibility var(--transition-normal);
      z-index: calc(var(--z-sticky) + 1);
    }

    .mobile-overlay.open {
      opacity: 1;
      visibility: visible;
    }

    /* Mobile Navigation Panel */
    .mobile-nav {
      position: fixed;
      top: 0;
      right: -100%;
      width: 85%;
      max-width: 320px;
      height: 100vh;
      background: var(--color-bg-elevated);
      box-shadow: var(--shadow-2xl);
      z-index: calc(var(--z-sticky) + 2);
      transition: right var(--duration-normal) var(--ease-flow);
      overflow-y: auto;
    }

    .mobile-nav.open {
      right: 0;
    }

    .mobile-nav-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: var(--space-4) var(--space-6);
      border-bottom: 1px solid var(--color-border-subtle);
    }

    .mobile-nav-close {
      padding: var(--space-2);
      background: none;
      border: none;
      cursor: pointer;
      color: var(--color-text-secondary);
    }

    .mobile-nav-list {
      list-style: none;
      margin: 0;
      padding: var(--space-4);
    }

    .mobile-nav-list .nav-link {
      display: block;
      padding: var(--space-4);
      font-size: var(--font-size-lg);
    }

    .mobile-nav-divider {
      height: 1px;
      background: var(--color-border-subtle);
      margin: var(--space-4);
    }

    .mobile-auth-section {
      padding: 0 var(--space-4) var(--space-4);
    }

    .mobile-auth-section .btn-login,
    .mobile-auth-section .btn-register {
      width: 100%;
      padding: var(--space-3) var(--space-4);
      margin-bottom: var(--space-2);
      text-align: center;
    }

    .mobile-lang-switcher {
      width: 100%;
      justify-content: center;
      margin-top: var(--space-4);
    }

    @media (max-width: 768px) {
      .main-nav,
      .auth-buttons,
      .lang-switcher {
        display: none;
      }

      .mobile-menu-btn {
        display: flex;
      }
    }

    /* ============================================================================
       BREADCRUMB (Inside Hero)
       ============================================================================ */

    .breadcrumb {
      display: flex;
      align-items: center;
      gap: var(--space-2);
      list-style: none;
      margin: 0;
      padding: 0;
      flex-wrap: wrap;
    }

    .breadcrumb-item {
      display: flex;
      align-items: center;
      gap: var(--space-2);
      font-size: var(--font-size-sm);
      color: rgba(255, 255, 255, 0.7);
    }

    .breadcrumb-item a {
      color: rgba(255, 255, 255, 0.8);
      text-decoration: none;
      transition: var(--transition-colors);
    }

    .breadcrumb-item a:hover {
      color: white;
      text-decoration: none;
    }

    .breadcrumb-item.current {
      color: white;
      font-weight: var(--font-weight-medium);
    }

    .breadcrumb-separator {
      color: rgba(255, 255, 255, 0.5);
    }

    .breadcrumb-separator svg {
      display: block;
    }

    .hero-breadcrumb {
      position: relative;
      z-index: 1;
      margin-top: var(--space-10);
      padding-top: var(--space-6);
      border-top: 1px solid rgba(255, 255, 255, 0.2);
    }

    .hero-breadcrumb .breadcrumb {
      justify-content: center;
    }

    /* RTL arrow direction fix - arrows point left in RTL */
    [dir="rtl"] .breadcrumb-separator svg {
      transform: rotate(180deg);
    }

    /* ============================================================================
       CATEGORY HERO BANNER
       ============================================================================ */

    .category-hero {
      background: var(--category-hero-bg, linear-gradient(135deg, var(--color-coral) 0%, var(--color-coral-dark) 100%));
      padding: 100px 0 var(--space-8);
      position: relative;
      overflow: hidden;
      border-radius: 0 0 var(--radius-2xl) var(--radius-2xl);
    }

    .category-hero-index {
      padding-top: 140px;
    }

    /* Decorative pattern overlay */
    .category-hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Ccircle cx='30' cy='30' r='4'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
      pointer-events: none;
    }

    .category-hero-content {
      position: relative;
      z-index: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      gap: var(--space-6);
    }

    .category-icon {
      width: 80px;
      height: 80px;
      background: rgba(255, 255, 255, 0.2);
      border-radius: var(--radius-full);
      display: flex;
      align-items: center;
      justify-content: center;
      backdrop-filter: blur(10px);
    }

    .category-icon svg {
      width: 40px;
      height: 40px;
      color: white;
    }

    .category-hero-title {
      font-family: var(--font-family-heading);
      font-size: var(--font-size-4xl);
      font-weight: var(--font-weight-bold);
      color: white;
      margin: 0;
      text-align: center;
    }

    .category-hero-description {
      font-family: var(--font-family-body);
      font-size: var(--font-size-lg);
      color: rgba(255, 255, 255, 0.9);
      max-width: 600px;
      line-height: var(--line-height-relaxed);
      margin: 0;
      text-align: center;
    }

    .category-stats {
      display: flex;
      align-items: center;
      gap: var(--space-8);
      margin-top: var(--space-4);
    }

    .stat-item {
      display: flex;
      align-items: center;
      gap: var(--space-2);
      color: rgba(255, 255, 255, 0.9);
      font-size: var(--font-size-base);
      font-weight: var(--font-weight-medium);
    }

    .stat-item svg {
      width: 20px;
      height: 20px;
      opacity: 0.8;
    }

    @media (max-width: 768px) {
      .category-hero {
        padding: 80px 0 var(--space-6);
      }

      .category-hero-index {
        padding-top: 120px;
      }

      .category-hero-title {
        font-size: var(--font-size-2xl);
      }

      .category-hero-description {
        font-size: var(--font-size-base);
      }

      .category-stats {
        flex-direction: column;
        gap: var(--space-3);
      }
    }

    /* ============================================================================
       SUBCATEGORIES SECTION
       ============================================================================ */

    .subcategories-section {
      padding: var(--space-12) 0;
      background: var(--color-bg-primary);
    }

    .subcategories-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: var(--space-6);
    }

    .subcategories-title {
      font-family: var(--font-family-heading);
      font-size: var(--font-size-xl);
      font-weight: var(--font-weight-bold);
      color: var(--color-text-primary);
      margin: 0;
    }

    .subcategories-scroll-wrapper {
      position: relative;
    }

    .subcategories-container {
      display: flex;
      gap: var(--space-4);
      overflow-x: auto;
      scroll-behavior: smooth;
      scrollbar-width: none;
      -ms-overflow-style: none;
      padding: var(--space-2) 0;
    }

    .subcategories-container::-webkit-scrollbar {
      display: none;
    }

    .subcategory-card {
      flex: 0 0 auto;
      width: 220px;
      background: var(--color-bg-elevated);
      border-radius: var(--radius-xl);
      padding: var(--space-5);
      box-shadow: var(--shadow-sm);
      transition: var(--transition-all);
      cursor: pointer;
      text-decoration: none;
      color: inherit;
    }

    .subcategory-card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow-lg);
      text-decoration: none;
    }

    .subcategory-icon-box {
      width: 48px;
      height: 48px;
      background: rgba(255, 127, 80, 0.1);
      border-radius: var(--radius-lg);
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: var(--space-4);
    }

    .subcategory-icon-box svg {
      width: 24px;
      height: 24px;
      color: var(--color-coral);
    }

    .subcategory-name {
      font-family: var(--font-family-heading);
      font-size: var(--font-size-base);
      font-weight: var(--font-weight-bold);
      color: var(--color-text-primary);
      margin-bottom: var(--space-2);
    }

    .subcategory-description {
      font-family: var(--font-family-body);
      font-size: var(--font-size-sm);
      color: var(--color-text-secondary);
      line-height: var(--line-height-relaxed);
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    .categories-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
      gap: var(--space-6);
    }

    .subcategory-meta {
      margin-top: var(--space-4);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: var(--space-2) var(--space-3);
      background: var(--color-bg-secondary);
      border-radius: var(--radius-full);
      font-size: var(--font-size-sm);
      font-weight: var(--font-weight-medium);
      color: var(--color-text-secondary);
      width: fit-content;
    }

    /* Scroll Arrows */
    .scroll-arrow {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 40px;
      height: 40px;
      background: var(--color-bg-elevated);
      border: 1px solid var(--color-border-subtle);
      border-radius: var(--radius-full);
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      box-shadow: var(--shadow-md);
      transition: var(--transition-all);
      z-index: 10;
    }

    .scroll-arrow:hover {
      background: var(--color-coral);
      border-color: var(--color-coral);
      color: white;
    }

    .scroll-arrow svg {
      width: 20px;
      height: 20px;
    }

    .scroll-arrow-prev {
      right: calc(100% + var(--space-3));
    }

    .scroll-arrow-next {
      left: calc(100% + var(--space-3));
    }

    [dir="rtl"] .scroll-arrow-prev {
      right: auto;
      left: calc(100% + var(--space-3));
    }

    [dir="rtl"] .scroll-arrow-next {
      left: auto;
      right: calc(100% + var(--space-3));
    }

    @media (max-width: 1200px) {
      .scroll-arrow {
        display: none;
      }
    }

    /* ============================================================================
       MAIN CONTENT AREA
       ============================================================================ */

    .content-section {
      padding: var(--space-8) 0 var(--space-16);
      background: var(--color-bg-secondary);
    }

    .content-layout {
      display: grid;
      grid-template-columns: 1fr 320px;
      gap: var(--space-8);
      align-items: start;
    }

    @media (max-width: 1024px) {
      .content-layout {
        grid-template-columns: 1fr;
      }
    }

    /* ============================================================================
       SORTING BAR
       ============================================================================ */

    .sorting-bar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: var(--space-4);
      padding: var(--space-4) var(--space-5);
      background: var(--color-bg-elevated);
      border-radius: var(--radius-lg);
      margin-bottom: var(--space-6);
    }

    .sorting-controls {
      display: flex;
      align-items: center;
      gap: var(--space-3);
    }

    .sorting-label {
      font-size: var(--font-size-sm);
      color: var(--color-text-secondary);
      font-weight: var(--font-weight-medium);
    }

    .sort-pills {
      display: flex;
      gap: var(--space-2);
    }

    .sort-pill {
      padding: var(--space-2) var(--space-4);
      background: var(--color-bg-secondary);
      border: 1px solid var(--color-border-subtle);
      border-radius: var(--radius-full);
      font-family: var(--font-family-body);
      font-size: var(--font-size-sm);
      color: var(--color-text-secondary);
      cursor: pointer;
      transition: var(--transition-all);
    }

    .sort-pill:hover {
      border-color: var(--color-coral);
      color: var(--color-coral);
    }

    .sort-pill.active {
      background: var(--color-coral);
      border-color: var(--color-coral);
      color: white;
    }

    .results-count {
      font-size: var(--font-size-sm);
      color: var(--color-text-tertiary);
    }

    @media (max-width: 640px) {
      .sorting-bar {
        flex-direction: column;
        align-items: flex-start;
      }

      .sorting-controls {
        flex-wrap: wrap;
      }
    }

    /* ============================================================================
       ARTICLES GRID
       ============================================================================ */

    .articles-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--space-6);
    }

    @media (max-width: 900px) {
      .articles-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media (max-width: 600px) {
      .articles-grid {
        grid-template-columns: 1fr;
      }
    }

    /* ============================================================================
       ARTICLE CARD
       ============================================================================ */

    .article-card {
      background: var(--color-bg-elevated);
      border-radius: var(--radius-xl);
      overflow: hidden;
      box-shadow: var(--shadow-sm);
      transition: var(--transition-all);
      display: flex;
      flex-direction: column;
    }

    .article-card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow-lg);
    }

    .article-card-link {
      text-decoration: none;
      color: inherit;
      display: flex;
      flex-direction: column;
      height: 100%;
    }

    .article-image-wrapper {
      position: relative;
      aspect-ratio: 16 / 9;
      overflow: hidden;
    }

    .article-image {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform var(--duration-slow) var(--ease-flow);
    }

    .article-card:hover .article-image {
      transform: scale(1.05);
    }

    .article-category-badge {
      position: absolute;
      top: var(--space-4);
      right: var(--space-4);
      padding: var(--space-1-5) var(--space-3);
      background: var(--category-color, var(--color-coral));
      color: white;
      font-family: var(--font-family-body);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-bold);
      border-radius: var(--radius-full);
      z-index: 1;
    }

    [dir="ltr"] .article-category-badge {
      right: auto;
      left: var(--space-4);
    }

    .article-content {
      padding: var(--space-5);
      display: flex;
      flex-direction: column;
      flex: 1;
    }

    .article-title {
      font-family: var(--font-family-heading);
      font-size: var(--font-size-lg);
      font-weight: var(--font-weight-bold);
      color: var(--color-text-primary);
      margin-bottom: var(--space-3);
      line-height: var(--line-height-snug);
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    .article-excerpt {
      font-family: var(--font-family-body);
      font-size: var(--font-size-sm);
      color: var(--color-text-secondary);
      line-height: var(--line-height-relaxed);
      margin-bottom: var(--space-4);
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
      flex: 1;
    }

    .article-author {
      display: flex;
      align-items: center;
      gap: var(--space-3);
      margin-bottom: var(--space-3);
    }

    .author-avatar {
      width: 36px;
      height: 36px;
      border-radius: var(--radius-full);
      background: var(--color-mint);
      color: var(--color-forest);
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: var(--font-family-heading);
      font-size: var(--font-size-sm);
      font-weight: var(--font-weight-bold);
      flex-shrink: 0;
    }

    .author-name {
      font-family: var(--font-family-body);
      font-size: var(--font-size-sm);
      font-weight: var(--font-weight-medium);
      color: var(--color-text-primary);
    }

    .article-meta {
      display: flex;
      align-items: center;
      gap: var(--space-4);
      padding-top: var(--space-3);
      border-top: 1px solid var(--color-border-subtle);
    }

    .meta-item {
      display: flex;
      align-items: center;
      gap: var(--space-2);
      font-family: var(--font-family-body);
      font-size: var(--font-size-xs);
      color: var(--color-text-tertiary);
    }

    .meta-item svg {
      width: 14px;
      height: 14px;
    }

    /* ============================================================================
       SIDEBAR
       ============================================================================ */

    .sidebar {
      position: sticky;
      top: 100px;
    }

    @media (max-width: 1024px) {
      .sidebar {
        position: static;
      }
    }

    .sidebar-card {
      background: var(--color-bg-elevated);
      border-radius: var(--radius-xl);
      padding: var(--space-6);
      box-shadow: var(--shadow-sm);
    }

    .sidebar-title {
      font-family: var(--font-family-heading);
      font-size: var(--font-size-lg);
      font-weight: var(--font-weight-bold);
      color: var(--color-text-primary);
      margin-bottom: var(--space-5);
    }

    .related-categories-list {
      display: flex;
      flex-direction: column;
      gap: var(--space-3);
    }

    .related-category-card {
      display: flex;
      align-items: center;
      gap: var(--space-4);
      padding: var(--space-3);
      border-radius: var(--radius-lg);
      transition: var(--transition-all);
      text-decoration: none;
      color: inherit;
    }

    .related-category-card:hover {
      background: var(--color-bg-secondary);
      text-decoration: none;
    }

    .related-category-icon {
      width: 40px;
      height: 40px;
      border-radius: var(--radius-md);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .related-category-icon.mint {
      background: rgba(126, 213, 195, 0.15);
      color: var(--color-mint-dark);
    }

    .related-category-icon.golden {
      background: rgba(244, 164, 58, 0.15);
      color: var(--color-golden-dark);
    }

    .related-category-icon.forest {
      background: rgba(34, 48, 45, 0.1);
      color: var(--color-forest);
    }

    .related-category-icon.coral {
      background: rgba(255, 127, 80, 0.15);
      color: var(--color-coral-dark);
    }

    .related-category-icon svg {
      width: 20px;
      height: 20px;
    }

    .related-category-info {
      flex: 1;
      min-width: 0;
    }

    .related-category-name {
      font-family: var(--font-family-body);
      font-size: var(--font-size-sm);
      font-weight: var(--font-weight-semibold);
      color: var(--color-text-primary);
      margin-bottom: var(--space-1);
    }

    .related-category-count {
      font-family: var(--font-family-body);
      font-size: var(--font-size-xs);
      color: var(--color-text-tertiary);
    }

    .browse-all-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: var(--space-2);
      width: 100%;
      padding: var(--space-3) var(--space-4);
      margin-top: var(--space-5);
      background: transparent;
      border: 2px solid var(--color-border-default);
      border-radius: var(--radius-lg);
      font-family: var(--font-family-body);
      font-size: var(--font-size-sm);
      font-weight: var(--font-weight-medium);
      color: var(--color-text-primary);
      cursor: pointer;
      text-decoration: none;
      transition: var(--transition-all);
    }

    .browse-all-btn:hover {
      border-color: var(--color-coral);
      color: var(--color-coral);
      text-decoration: none;
    }

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

    /* ============================================================================
       LOAD MORE BUTTON
       ============================================================================ */

    .load-more-wrapper {
      text-align: center;
      padding-top: var(--space-8);
    }

    .load-more-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: var(--space-3);
      padding: var(--space-4) var(--space-8);
      background: var(--color-coral);
      color: white;
      border: none;
      border-radius: var(--radius-lg);
      font-family: var(--font-family-body);
      font-size: var(--font-size-base);
      font-weight: var(--font-weight-bold);
      cursor: pointer;
      transition: var(--transition-all);
      min-width: 200px;
    }

    .load-more-btn:hover:not(:disabled) {
      background: var(--color-coral-dark);
      transform: translateY(-2px);
      box-shadow: var(--shadow-coral);
    }

    .load-more-btn:disabled {
      opacity: 0.7;
      cursor: not-allowed;
    }

    .load-more-btn .spinner {
      width: 18px;
      height: 18px;
      border: 2px solid rgba(255, 255, 255, 0.3);
      border-top-color: white;
      border-radius: 50%;
      animation: spin 0.8s linear infinite;
    }

    @keyframes spin {
      to {
        transform: rotate(360deg);
      }
    }

    /* ============================================================================
       EMPTY STATE
       ============================================================================ */

    .empty-state {
      display: none;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: var(--space-16) var(--space-4);
      background: var(--color-bg-elevated);
      border-radius: var(--radius-xl);
    }

    .empty-state.show {
      display: flex;
    }

    .empty-icon {
      width: 80px;
      height: 80px;
      color: var(--color-text-tertiary);
      margin-bottom: var(--space-6);
    }

    .empty-title {
      font-family: var(--font-family-heading);
      font-size: var(--font-size-xl);
      font-weight: var(--font-weight-bold);
      color: var(--color-text-primary);
      margin-bottom: var(--space-3);
    }

    .empty-message {
      font-family: var(--font-family-body);
      font-size: var(--font-size-base);
      color: var(--color-text-secondary);
      margin-bottom: var(--space-6);
      max-width: 400px;
    }

    .browse-categories-btn {
      padding: var(--space-3) var(--space-6);
      background: var(--color-forest);
      color: white;
      border: none;
      border-radius: var(--radius-lg);
      font-family: var(--font-family-body);
      font-size: var(--font-size-sm);
      font-weight: var(--font-weight-medium);
      cursor: pointer;
      text-decoration: none;
      transition: var(--transition-all);
    }

    .browse-categories-btn:hover {
      background: var(--color-forest-light);
      transform: translateY(-1px);
      text-decoration: none;
    }

    /* ============================================================================
       FOOTER STYLES
       ============================================================================ */

    /* Newsletter Section */
    .newsletter-section {
      background: var(--color-bg-secondary);
      padding: var(--space-16) 0;
    }

    .newsletter-card {
      background-color: var(--color-forest);
      background-image: url('Assets/newsletter-bg.jpg');
      background-size: cover;
      background-position: center;
      border-radius: var(--radius-2xl);
      padding: var(--space-12) var(--space-8);
      text-align: center;
      position: relative;
      overflow: hidden;
    }

    .newsletter-card::before {
      content: '';
      position: absolute;
      inset: 0;
      background: rgba(34, 48, 45, 0.3);
      pointer-events: none;
    }

    .newsletter-content {
      position: relative;
      z-index: 1;
      max-width: 600px;
      margin: 0 auto;
      text-align: center;
    }

    .newsletter-title {
      font-family: var(--font-family-heading);
      font-size: var(--font-size-2xl);
      font-weight: var(--font-weight-bold);
      color: var(--color-sand);
      margin-bottom: var(--space-3);
      text-align: center;
    }

    .newsletter-subtitle {
      font-size: var(--font-size-md);
      color: var(--color-sand-dark);
      margin-bottom: var(--space-8);
      line-height: var(--line-height-relaxed);
      text-align: center;
    }

    .newsletter-form {
      display: flex;
      gap: var(--space-3);
      max-width: 480px;
      margin: 0 auto;
    }

    .newsletter-input {
      flex: 1;
      padding: var(--space-4) var(--space-5);
      border: 2px solid var(--color-forest-light);
      border-radius: var(--radius-lg);
      background: var(--color-forest-light);
      color: var(--color-sand);
      font-family: var(--font-family-body);
      font-size: var(--font-size-base);
      transition: var(--transition-all);
    }

    .newsletter-input::placeholder {
      color: var(--color-sand-darker);
      font-family: var(--font-family-body);
    }

    .newsletter-input:focus {
      outline: none;
      border-color: var(--color-coral);
      background: var(--color-forest);
    }

    .newsletter-submit {
      padding: var(--space-4) var(--space-6);
      background: var(--color-coral);
      color: white;
      border: none;
      border-radius: var(--radius-lg);
      font-family: var(--font-family-body);
      font-size: var(--font-size-base);
      font-weight: var(--font-weight-bold);
      white-space: nowrap;
      cursor: pointer;
      transition: var(--transition-all);
    }

    .newsletter-submit:hover {
      background: var(--color-coral-dark);
      transform: translateY(-2px);
      box-shadow: var(--shadow-coral);
    }

    .newsletter-success {
      display: none;
      align-items: center;
      justify-content: center;
      gap: var(--space-3);
      padding: var(--space-4);
      background: rgba(56, 161, 105, 0.2);
      border: 1px solid var(--color-success);
      border-radius: var(--radius-lg);
      color: var(--color-success);
      font-size: var(--font-size-base);
      margin-top: var(--space-4);
    }

    .newsletter-success.show {
      display: flex;
    }

    @media (max-width: 640px) {
      .newsletter-form {
        flex-direction: column;
      }

      .newsletter-title {
        font-size: var(--font-size-xl);
      }
    }

    /* Footer Navigation */
    .footer-nav {
      background: var(--color-forest);
      padding: var(--space-8) 0;
      border-bottom: 1px solid var(--color-forest-light);
    }

    .footer-nav-list {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-wrap: wrap;
      gap: var(--space-6);
      list-style: none;
      margin: 0;
      padding: 0;
    }

    .footer-nav-link {
      color: var(--color-sand-dark);
      text-decoration: none;
      font-size: var(--font-size-sm);
      font-weight: var(--font-weight-medium);
      padding: var(--space-2) var(--space-3);
      border-radius: var(--radius-md);
      transition: var(--transition-all);
    }

    .footer-nav-link:hover {
      color: var(--color-sand);
      background: rgba(255, 255, 255, 0.05);
      text-decoration: none;
    }

    /* Footer Bottom */
    .footer-bottom {
      background: var(--color-forest);
      padding: var(--space-6) 0;
    }

    .footer-bottom-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: var(--space-4);
    }

    .footer-copyright {
      font-size: var(--font-size-sm);
      color: var(--color-sand-darker);
    }

    .footer-actions {
      display: flex;
      align-items: center;
      gap: var(--space-6);
    }

    .social-links {
      display: flex;
      gap: var(--space-3);
    }

    .social-link {
      width: 40px;
      height: 40px;
      border-radius: var(--radius-full);
      background: var(--color-forest-light);
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--color-sand);
      transition: var(--transition-all);
    }

    .social-link:hover {
      background: var(--color-coral);
      transform: translateY(-2px);
    }

    .social-link svg {
      width: 20px;
      height: 20px;
    }

    .language-toggle {
      display: flex;
      align-items: center;
      gap: var(--space-2);
      padding: var(--space-2) var(--space-3);
      background: var(--color-forest-light);
      border: none;
      border-radius: var(--radius-lg);
      color: var(--color-sand);
      font-size: var(--font-size-sm);
      cursor: pointer;
      transition: var(--transition-all);
    }

    .language-toggle:hover {
      background: var(--color-forest-lighter);
    }

    .language-toggle svg {
      width: 16px;
      height: 16px;
    }

    @media (max-width: 768px) {
      .footer-bottom-inner {
        flex-direction: column;
        text-align: center;
      }

      .footer-actions {
        flex-direction: column;
        gap: var(--space-4);
      }
    }
  
