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

    body {
      padding-top: 88px;
      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;
      }
    }

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

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

    .profile-container {
      max-width: 720px;
      margin: 0 auto;
      padding: 0 var(--space-4);
    }

    /* ============================================================================
       FLASH MESSAGES
       ============================================================================ */

    .flash-message {
      display: flex;
      align-items: center;
      gap: var(--space-3);
      padding: var(--space-4) var(--space-5);
      border-radius: var(--radius-lg);
      margin-bottom: var(--space-6);
      animation: slideIn var(--duration-normal) var(--ease-flow);
    }

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

    .flash-message.success {
      background: var(--color-success-light);
      border: 1px solid var(--color-success);
      color: var(--color-success-dark);
    }

    .flash-message.error {
      background: var(--color-error-light);
      border: 1px solid var(--color-error);
      color: var(--color-error-dark);
    }

    .flash-message.info {
      background: var(--color-info-light);
      border: 1px solid var(--color-info);
      color: var(--color-info-dark);
    }

    .flash-message.warning {
      background: var(--color-warning-light);
      border: 1px solid var(--color-warning);
      color: var(--color-warning-dark);
    }

    .flash-icon {
      width: 20px;
      height: 20px;
      flex-shrink: 0;
    }

    .flash-text {
      flex: 1;
      font-size: var(--font-size-sm);
      font-weight: var(--font-weight-medium);
    }

    .flash-dismiss {
      padding: var(--space-1);
      background: none;
      border: none;
      cursor: pointer;
      opacity: 0.6;
      transition: var(--transition-all);
      color: currentColor;
    }

    .flash-dismiss:hover {
      opacity: 1;
    }

    .flash-dismiss svg {
      width: 16px;
      height: 16px;
    }

    /* ============================================================================
       PROFILE HEADER CARD
       ============================================================================ */

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

    .profile-header {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
    }

    /* Avatar with coral ring */
    .profile-avatar-wrapper {
      position: relative;
      margin-bottom: var(--space-5);
    }

    .profile-avatar {
      width: 120px;
      height: 120px;
      border-radius: var(--radius-full);
      background: var(--color-mint-lighter);
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: var(--font-family-heading);
      font-size: var(--font-size-3xl);
      font-weight: var(--font-weight-bold);
      color: var(--color-forest);
      border: 4px solid var(--color-coral);
      box-shadow: 0 0 0 4px rgba(255, 127, 80, 0.2);
    }

    .profile-avatar img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: var(--radius-full);
    }

    /* Display name */
    .profile-name {
      font-family: var(--font-family-heading);
      font-size: var(--font-size-2xl);
      font-weight: var(--font-weight-bold);
      color: var(--color-text-primary);
      margin: 0 0 var(--space-3);
    }

    /* Bio */
    .profile-bio {
      font-family: var(--font-family-body);
      font-size: var(--font-size-base);
      color: var(--color-text-secondary);
      line-height: var(--line-height-relaxed);
      max-width: 480px;
      margin: 0 0 var(--space-5);
    }

    /* Member since */
    .profile-member-since {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: var(--space-2);
      font-size: var(--font-size-sm);
      color: var(--color-text-tertiary);
      margin-bottom: var(--space-6);
    }

    .profile-member-since svg {
      width: 16px;
      height: 16px;
    }

    /* Social Stats */
    .profile-social-stats {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: var(--space-8);
      padding: var(--space-5) 0;
      border-top: 1px solid var(--color-border-subtle);
      border-bottom: 1px solid var(--color-border-subtle);
      margin-bottom: var(--space-6);
      width: 100%;
    }

    .social-stat {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: var(--space-1);
    }

    .social-stat-value {
      font-family: var(--font-family-heading);
      font-size: var(--font-size-xl);
      font-weight: var(--font-weight-bold);
      color: var(--color-text-primary);
    }

    .social-stat-label {
      font-size: var(--font-size-sm);
      color: var(--color-text-tertiary);
    }

    /* Follow Button */
    .btn-follow {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: var(--space-2);
      padding: var(--space-3) 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);
    }

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

    .btn-follow:active {
      transform: translateY(0);
    }

    .btn-follow svg {
      width: 18px;
      height: 18px;
    }

    /* Following state */
    .btn-follow.following {
      background: var(--color-bg-secondary);
      color: var(--color-text-primary);
      border: 1px solid var(--color-border-default);
    }

    .btn-follow.following:hover {
      background: var(--color-error-light);
      border-color: var(--color-error);
      color: var(--color-error);
      box-shadow: none;
    }

    .btn-follow.following:hover .follow-text {
      display: none;
    }

    .btn-follow.following:hover .unfollow-text {
      display: inline;
    }

    .btn-follow .unfollow-text {
      display: none;
    }

    @media (max-width: 640px) {
      .profile-card {
        padding: var(--space-6);
      }

      .profile-avatar {
        width: 100px;
        height: 100px;
        font-size: var(--font-size-2xl);
      }

      .profile-name {
        font-size: var(--font-size-xl);
      }

      .profile-social-stats {
        gap: var(--space-6);
      }
    }

    /* ============================================================================
       READING STATS CARD (Owner View Only)
       ============================================================================ */

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

    .stats-card-header {
      display: flex;
      align-items: center;
      gap: var(--space-3);
      margin-bottom: var(--space-6);
    }

    .stats-card-icon {
      width: 40px;
      height: 40px;
      background: rgba(255, 127, 80, 0.1);
      border-radius: var(--radius-lg);
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--color-coral);
    }

    .stats-card-icon svg {
      width: 20px;
      height: 20px;
    }

    .stats-card-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: 0;
    }

    /* Stats Grid */
    .stats-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: var(--space-4);
    }

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

    .stat-item {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      padding: var(--space-4);
      background: var(--color-bg-secondary);
      border-radius: var(--radius-lg);
      transition: var(--transition-all);
    }

    .stat-item:hover {
      background: var(--color-bg-tertiary);
    }

    .stat-icon {
      width: 44px;
      height: 44px;
      border-radius: var(--radius-full);
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: var(--space-3);
    }

    .stat-icon svg {
      width: 22px;
      height: 22px;
    }

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

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

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

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

    .stat-value {
      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-1);
    }

    .stat-label {
      font-size: var(--font-size-xs);
      color: var(--color-text-tertiary);
      line-height: var(--line-height-snug);
    }

    /* Favorite Category Tag */
    .stat-category-tag {
      display: inline-flex;
      align-items: center;
      gap: var(--space-1);
      padding: var(--space-1) var(--space-3);
      background: 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);
      margin-bottom: var(--space-2);
    }

    /* ============================================================================
       USER ARTICLES SECTION
       ============================================================================ */

    .user-articles-section {
      margin-top: var(--space-8);
    }

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

    .section-title {
      display: flex;
      align-items: center;
      gap: var(--space-3);
      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;
    }

    .section-title svg {
      width: 24px;
      height: 24px;
      color: var(--color-coral);
    }

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

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

    /* 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);
      text-decoration: none;
      color: inherit;
      display: flex;
      flex-direction: column;
    }

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

    .article-card-image {
      position: relative;
      aspect-ratio: 16 / 10;
      overflow: hidden;
      background: var(--color-bg-secondary);
    }

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

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

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

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

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

    .article-card-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: 0 0 var(--space-4);
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
      flex: 1;
    }

    .article-card-meta {
      display: flex;
      align-items: center;
      gap: var(--space-4);
      font-size: var(--font-size-xs);
      color: var(--color-text-tertiary);
    }

    .article-meta-item {
      display: flex;
      align-items: center;
      gap: var(--space-1);
    }

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

    /* Empty State */
    .articles-empty {
      text-align: center;
      padding: var(--space-12) var(--space-6);
      background: var(--color-bg-elevated);
      border-radius: var(--radius-xl);
      border: 2px dashed var(--color-border-subtle);
    }

    .articles-empty-icon {
      width: 64px;
      height: 64px;
      margin: 0 auto var(--space-4);
      color: var(--color-text-tertiary);
      opacity: 0.5;
    }

    .articles-empty-title {
      font-family: var(--font-family-heading);
      font-size: var(--font-size-lg);
      font-weight: var(--font-weight-bold);
      color: var(--color-text-secondary);
      margin: 0 0 var(--space-2);
    }

    .articles-empty-text {
      font-size: var(--font-size-sm);
      color: var(--color-text-tertiary);
      margin: 0;
    }

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

      .section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-2);
      }
    }

    /* ============================================================================
       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;
    }

    @media (max-width: 768px) {
      .newsletter-title {
        font-size: var(--font-size-xl);
      }
    }

    .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;
    }

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

    .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-submit:active {
      transform: translateY(0);
    }

    .newsletter-submit:focus-visible {
      outline: 2px solid var(--color-sand);
      outline-offset: 2px;
    }

    .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;
    }

    .newsletter-success svg {
      width: 20px;
      height: 20px;
      flex-shrink: 0;
    }

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

    .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;
    }

    @media (max-width: 640px) {
      .footer-nav-list {
        gap: var(--space-4);
      }
    }

    .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-nav-link:focus-visible {
      outline: 2px solid var(--color-coral);
      outline-offset: 2px;
    }

    .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);
    }

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

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

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

    @media (max-width: 640px) {
      .footer-actions {
        flex-direction: column;
        gap: var(--space-4);
      }
    }

    .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:focus-visible {
      outline: 2px solid var(--color-coral);
      outline-offset: 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:focus-visible {
      outline: 2px solid var(--color-coral);
      outline-offset: 2px;
    }

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

    /* ============================================================================
       VIEW TOGGLE (Demo Only - Remove in Production)
       ============================================================================ */

    .view-toggle-demo {
      position: fixed;
      bottom: var(--space-6);
      left: var(--space-6);
      z-index: var(--z-fixed);
      display: flex;
      flex-direction: column;
      gap: var(--space-2);
      padding: var(--space-4);
      background: var(--color-bg-elevated);
      border-radius: var(--radius-lg);
      box-shadow: var(--shadow-lg);
      border: 1px solid var(--color-border-subtle);
    }

    .view-toggle-demo-label {
      font-size: var(--font-size-xs);
      color: var(--color-text-tertiary);
      text-align: center;
    }

    .view-toggle-demo-buttons {
      display: flex;
      gap: var(--space-2);
    }

    .view-toggle-btn {
      padding: var(--space-2) var(--space-3);
      border: 1px solid var(--color-border-default);
      background: var(--color-bg-secondary);
      color: var(--color-text-secondary);
      font-size: var(--font-size-xs);
      font-weight: var(--font-weight-medium);
      border-radius: var(--radius-md);
      cursor: pointer;
      transition: var(--transition-all);
    }

    .view-toggle-btn:hover {
      border-color: var(--color-coral);
      color: var(--color-coral);
    }

    .view-toggle-btn.active {
      background: var(--color-coral);
      border-color: var(--color-coral);
      color: white;
    }

    /* Hide elements based on view mode */
    body.visitor-view .owner-only {
      display: none !important;
    }

    body.owner-view .visitor-only {
      display: none !important;
    }
  
