* { 
      box-sizing: border-box; 
      margin: 0; 
      padding: 0; 
    }

    :root {
      --harvey-dark: #1f4037;
      --harvey-light: #99f2c8;
      --dark-bg: linear-gradient(180deg, #2c5364 0%, #203a43 50%, #0f2027 100%);
      --light-bg: linear-gradient(180deg, #99f2c8 0%, #1f4037 100%);
      --glass-bg-dark: rgba(255, 255, 255, 0.05);
      --glass-bg-light: rgba(255, 255, 255, 0.08);
      --glass-border-dark: rgba(255, 255, 255, 0.1);
      --glass-border-light: rgba(255, 255, 255, 0.15);
      --text-primary-dark: #ffffff;
      --text-primary-light: #ffffff;
      --text-secondary-dark: rgba(255, 255, 255, 0.9);
      --text-secondary-light: rgba(255, 255, 255, 0.9);
      --shadow-light: 0 8px 32px rgba(31, 64, 55, 0.2);
      --shadow-heavy: 0 20px 60px rgba(31, 64, 55, 0.3);
    }

    [data-theme="dark"] {
      --current-bg: var(--dark-bg);
      --glass-bg: var(--glass-bg-dark);
      --glass-border: var(--glass-border-dark);
      --text-primary: var(--text-primary-dark);
      --text-secondary: var(--text-secondary-dark);
    }

    [data-theme="light"] {
      --current-bg: var(--light-bg);
      --glass-bg: var(--glass-bg-light);
      --glass-border: var(--glass-border-light);
      --text-primary: var(--text-primary-light);
      --text-secondary: var(--text-secondary-light);
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      background: var(--current-bg);
      color: var(--text-primary);
      min-height: 100vh;
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 1rem;
      overflow-x: hidden;
      transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
      will-change: background;
    }

    body::before {
      content: '';
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: radial-gradient(circle at 20% 80%, rgba(120, 119, 198, 0.3) 0%, transparent 50%),
                  radial-gradient(circle at 80% 20%, rgba(255, 119, 198, 0.3) 0%, transparent 50%),
                  radial-gradient(circle at 40% 40%, rgba(120, 219, 255, 0.3) 0%, transparent 50%);
      pointer-events: none;
      z-index: -1;
      animation: floatingBg 20s ease-in-out infinite;
    }

    @keyframes floatingBg {
      0%, 100% { transform: translateY(0px) rotate(0deg); }
      33% { transform: translateY(-20px) rotate(1deg); }
      66% { transform: translateY(20px) rotate(-1deg); }
    }

    .theme-toggle {
      position: fixed;
      top: 20px;
      right: 20px;
      background: var(--glass-bg);
      backdrop-filter: blur(20px);
      border: 1px solid var(--glass-border);
      border-radius: 50px;
      padding: 0.8rem;
      cursor: pointer;
      transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
      z-index: 1000;
      color: var(--text-primary);
      font-size: 1.2rem;
      width: 50px;
      height: 50px;
      display: flex;
      align-items: center;
      justify-content: center;
      will-change: transform, background;
    }

    .theme-toggle:hover {
      background: rgba(255, 255, 255, 0.15);
      transform: scale(1.1) rotate(180deg);
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    }

    .theme-toggle:active {
      transform: scale(0.95) rotate(180deg);
    }

    .container, .main-content {
      background: var(--glass-bg);
      backdrop-filter: blur(20px);
      border: 1px solid var(--glass-border);
      border-radius: 24px;
      padding: 2.5rem;
      max-width: 420px;
      width: 100%;
      text-align: center;
      box-shadow: var(--shadow-light);
      display: none;
      animation: slideUpFade 1.2s cubic-bezier(0.4, 0, 0.2, 1);
      position: relative;
      transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
      will-change: transform, opacity;
    }

    .container::before, .main-content::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
      border-radius: 24px 24px 0 0;
      animation: shimmer 3s ease-in-out infinite;
    }

    @keyframes shimmer {
      0%, 100% { opacity: 0.3; }
      50% { opacity: 0.8; }
    }

    #shop {
      max-width: 600px;
      background: var(--glass-bg);
      backdrop-filter: blur(25px);
    }

    #payment {
      max-width: 550px;
      background: var(--glass-bg);
      backdrop-filter: blur(25px);
    }

    .profile-img {
      width: 120px;
      height: 120px;
      border-radius: 50%;
      object-fit: cover;
      border: 4px solid rgba(255, 255, 255, 0.3);
      margin-bottom: 1.5rem;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
      transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
      will-change: transform;
      animation: profileFloat 6s ease-in-out infinite;
    }

    @keyframes profileFloat {
      0%, 100% { transform: translateY(0px) scale(1); }
      50% { transform: translateY(-10px) scale(1.02); }
    }

    .profile-img:hover {
      transform: scale(1.1) rotate(5deg);
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
    }

    h1 {
      font-size: 2.2rem;
      font-weight: 700;
      margin-bottom: 0.8rem;
      color: var(--text-primary);
      text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
      font-family: 'Inter', sans-serif;
      animation: textGlow 4s ease-in-out infinite;
    }

    @keyframes textGlow {
      0%, 100% { text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); }
      50% { text-shadow: 2px 2px 20px rgba(255, 255, 255, 0.3); }
    }

    .section-title {
      font-size: 2rem;
      font-weight: 600;
      margin-bottom: 2rem;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      color: var(--text-primary);
      text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
      font-family: 'Inter', sans-serif;
      animation: titleSlide 1s cubic-bezier(0.4, 0, 0.2, 1);
    }

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

    .typing-text {
      font-size: 1.1rem;
      color: var(--text-secondary);
      margin-bottom: 2rem;
      min-height: 2rem;
      font-weight: 400;
      line-height: 1.6;
      text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
      animation: fadeInUp 1.5s cubic-bezier(0.4, 0, 0.2, 1) 0.3s both;
    }

    .social-links {
      margin: 2rem 0;
    }

    .social-links a {
      display: flex;
      align-items: center;
      gap: 12px;
      justify-content: flex-start;
      background: rgba(255, 255, 255, 0.1);
      color: var(--text-primary);
      text-decoration: none;
      padding: 1rem 1.5rem;
      margin: 0.8rem 0;
      border-radius: 16px;
      border: 1px solid rgba(255, 255, 255, 0.15);
      transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
      font-weight: 500;
      text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
      will-change: transform, background;
      animation: slideInLeft 0.8s cubic-bezier(0.4, 0, 0.2, 1);
      animation-delay: calc(var(--delay, 0) * 0.1s);
    }

    .social-links a:nth-child(1) { --delay: 1; }
    .social-links a:nth-child(2) { --delay: 2; }
    .social-links a:nth-child(3) { --delay: 3; }

    .social-links a:hover {
      background: rgba(255, 255, 255, 0.2);
      transform: translateX(15px) scale(1.02);
      box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
    }

    .social-links a:active {
      transform: translateX(15px) scale(0.98);
    }

    .social-links i {
      width: 24px;
      font-size: 1.2rem;
      color: rgba(255, 255, 255, 0.9);
      transition: all 0.3s ease;
    }

    .social-links a:hover i {
      transform: scale(1.2) rotate(10deg);
    }

    .loading-screen {
      position: fixed;
      top: 0; left: 0;
      width: 100vw;
      height: 100vh;
      background: var(--current-bg);
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      z-index: 9999;
      animation: fadeOut 1.5s 2.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    }

    .loading-screen h1 {
      font-size: 2.5rem;
      animation: loadingPulse 2s ease-in-out infinite;
      font-weight: 600;
      color: var(--text-primary);
      text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
    }

    .loading-spinner {
      width: 60px;
      height: 60px;
      border: 4px solid rgba(255, 255, 255, 0.2);
      border-top: 4px solid var(--text-primary);
      border-radius: 50%;
      animation: spin 1s cubic-bezier(0.4, 0, 0.2, 1) infinite;
      margin-top: 2rem;
    }

    .loading-dots {
      display: flex;
      gap: 8px;
      margin-top: 1rem;
    }

    .loading-dot {
      width: 8px;
      height: 8px;
      background: var(--text-primary);
      border-radius: 50%;
      animation: dotBounce 1.4s ease-in-out infinite;
    }

    .loading-dot:nth-child(1) { animation-delay: 0s; }
    .loading-dot:nth-child(2) { animation-delay: 0.2s; }
    .loading-dot:nth-child(3) { animation-delay: 0.4s; }

    @keyframes dotBounce {
      0%, 80%, 100% { transform: scale(0.8); opacity: 0.5; }
      40% { transform: scale(1.2); opacity: 1; }
    }

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

    @keyframes loadingPulse {
      0%, 100% { opacity: 0.7; transform: scale(1); }
      50% { opacity: 1; transform: scale(1.05); }
    }

    @keyframes fadeOut {
      to { opacity: 0; visibility: hidden; }
    }

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

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

    @keyframes slideInLeft {
      from { opacity: 0; transform: translateX(-50px); }
      to { opacity: 1; transform: translateX(0); }
    }

    .btn-primary {
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.7) 100%);
      color: var(--harvey-dark);
      font-weight: 600;
      border: none;
      padding: 1rem 2rem;
      font-size: 1rem;
      border-radius: 50px;
      cursor: pointer;
      transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
      min-width: 140px;
      text-align: center;
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
      position: relative;
      overflow: hidden;
      font-family: 'Inter', sans-serif;
      will-change: transform;
    }

    .btn-primary::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: left 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .btn-primary:hover::before {
      left: 100%;
    }

    .btn-primary:hover {
      transform: translateY(-3px) scale(1.05);
      box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4);
    }

    .btn-primary:active {
      transform: translateY(-1px) scale(1.02);
    }

    .btn-secondary {
      background: rgba(255, 255, 255, 0.1);
      color: var(--text-primary);
      border: 1px solid rgba(255, 255, 255, 0.2);
      font-weight: 500;
      padding: 0.8rem 1.5rem;
      font-size: 0.95rem;
      border-radius: 50px;
      cursor: pointer;
      transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
      backdrop-filter: blur(10px);
      text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
      font-family: 'Inter', sans-serif;
      will-change: transform;
    }

    .btn-secondary:hover {
      background: rgba(255, 255, 255, 0.2);
      transform: translateY(-2px);
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
    }

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

    .button-group {
      display: flex;
      gap: 1rem;
      justify-content: center;
      flex-wrap: wrap;
      margin: 2rem 0;
    }

    .product-grid {
      display: grid;
      gap: 1.5rem;
      margin-bottom: 2rem;
    }

    .product-card {
      background: rgba(255, 255, 255, 0.1);
      backdrop-filter: blur(15px);
      border: 1px solid rgba(255, 255, 255, 0.15);
      border-radius: 20px;
      padding: 2rem;
      transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
      position: relative;
      overflow: hidden;
      will-change: transform;
      animation: cardSlideIn 0.8s cubic-bezier(0.4, 0, 0.2, 1);
      animation-delay: calc(var(--card-delay, 0) * 0.1s);
    }

    .product-card:nth-child(1) { --card-delay: 1; }
    .product-card:nth-child(2) { --card-delay: 2; }
    .product-card:nth-child(3) { --card-delay: 3; }
    .product-card:nth-child(4) { --card-delay: 4; }

    @keyframes cardSlideIn {
      from { opacity: 0; transform: translateY(50px) rotateX(10deg); }
      to { opacity: 1; transform: translateY(0) rotateX(0deg); }
    }

    .product-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: linear-gradient(90deg, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.1));
      animation: shimmer 3s ease-in-out infinite;
    }

    .product-card:hover {
      transform: translateY(-15px) scale(1.02);
      box-shadow: var(--shadow-heavy);
      background: rgba(255, 255, 255, 0.15);
    }

    .product-card:hover::after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: radial-gradient(circle at center, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
      pointer-events: none;
    }

    .product-header {
      display: flex;
      align-items: center;
      gap: 1rem;
      margin-bottom: 1.5rem;
    }

    .product-img {
      width: 60px;
      height: 60px;
      border-radius: 12px;
      object-fit: cover;
      border: 2px solid rgba(255, 255, 255, 0.3);
      transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .product-card:hover .product-img {
      transform: scale(1.1) rotate(5deg);
    }

    .product-info h3 {
      font-size: 1.3rem;
      font-weight: 600;
      margin-bottom: 0.5rem;
      color: var(--text-primary);
      text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
      font-family: 'Inter', sans-serif;
    }

    .product-category {
      background: rgba(255, 255, 255, 0.2);
      color: var(--text-primary);
      padding: 0.3rem 0.8rem;
      border-radius: 20px;
      font-size: 0.8rem;
      font-weight: 500;
      text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
      transition: all 0.3s ease;
    }

    .product-card:hover .product-category {
      background: rgba(255, 255, 255, 0.3);
      transform: scale(1.05);
    }

    .product-description {
      color: var(--text-secondary);
      line-height: 1.6;
      margin-bottom: 1.5rem;
      font-size: 0.95rem;
      text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
    }

    .product-footer {
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .product-price {
      font-size: 1.4rem;
      font-weight: 700;
      color: var(--text-primary);
      text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
      font-family: 'Inter', sans-serif;
      animation: priceGlow 3s ease-in-out infinite;
    }

    @keyframes priceGlow {
      0%, 100% { text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2); }
      50% { text-shadow: 1px 1px 15px rgba(255, 255, 255, 0.3); }
    }

    .payment-method {
      background: rgba(255, 255, 255, 0.1);
      backdrop-filter: blur(15px);
      border: 1px solid rgba(255, 255, 255, 0.15);
      border-radius: 16px;
      padding: 1.5rem;
      margin-bottom: 1rem;
      transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
      display: flex;
      align-items: center;
      gap: 1rem;
      will-change: transform;
      animation: paymentSlide 0.8s cubic-bezier(0.4, 0, 0.2, 1);
      animation-delay: calc(var(--payment-delay, 0) * 0.15s);
    }

    .payment-method:nth-child(1) { --payment-delay: 1; }
    .payment-method:nth-child(2) { --payment-delay: 2; }
    .payment-method:nth-child(3) { --payment-delay: 3; }

    @keyframes paymentSlide {
      from { opacity: 0; transform: translateX(-30px); }
      to { opacity: 1; transform: translateX(0); }
    }

    .payment-method:hover {
      background: rgba(255, 255, 255, 0.15);
      transform: translateX(10px) scale(1.02);
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    }

    .payment-img {
      width: 50px;
      height: 50px;
      border-radius: 10px;
      object-fit: cover;
      transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .payment-method:hover .payment-img {
      transform: scale(1.1) rotate(3deg);
    }

    .payment-info {
      flex: 1;
      text-align: left;
    }

    .payment-info h4 {
      font-size: 1.1rem;
      font-weight: 600;
      margin-bottom: 0.3rem;
      color: var(--text-primary);
      text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
      font-family: 'Inter', sans-serif;
    }

    .payment-info p {
      font-size: 0.9rem;
      color: var(--text-secondary);
      text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
    }

    .qris-section {
      background: rgba(255, 255, 255, 0.1);
      backdrop-filter: blur(15px);
      border: 1px solid rgba(255, 255, 255, 0.15);
      border-radius: 20px;
      padding: 2rem;
      margin: 2rem 0;
      text-align: center;
      animation: qrisFloat 1s cubic-bezier(0.4, 0, 0.2, 1);
    }

    @keyframes qrisFloat {
      from { opacity: 0; transform: translateY(30px) scale(0.9); }
      to { opacity: 1; transform: translateY(0) scale(1); }
    }

    .qris-section h3 {
      font-size: 1.4rem;
      font-weight: 600;
      margin-bottom: 1.5rem;
      color: var(--text-primary);
      text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
      font-family: 'Inter', sans-serif;
    }

    .qris-code {
      width: 200px;
      height: 200px;
      border-radius: 16px;
      border: 3px solid rgba(255, 255, 255, 0.3);
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
      margin: 0 auto 1rem;
      cursor: pointer;
      transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
      will-change: transform;
      animation: qrisGlow 4s ease-in-out infinite;
    }

    @keyframes qrisGlow {
      0%, 100% { box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); }
      50% { box-shadow: 0 20px 50px rgba(255, 255, 255, 0.1); }
    }

    .qris-code:hover {
      transform: scale(1.1) rotate(2deg);
      box-shadow: 0 25px 60px rgba(0, 0, 0, 0.4);
    }

    .qris-code:active {
      transform: scale(1.05) rotate(2deg);
    }

    .download-btn {
      background: rgba(255, 255, 255, 0.2);
      color: var(--text-primary);
      border: 1px solid rgba(255, 255, 255, 0.3);
      padding: 0.5rem 1rem;
      border-radius: 25px;
      cursor: pointer;
      transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
      font-size: 0.9rem;
      margin-top: 1rem;
      text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
      font-family: 'Inter', sans-serif;
      will-change: transform;
    }

    .download-btn:hover {
      background: rgba(255, 255, 255, 0.3);
      transform: translateY(-2px) scale(1.05);
      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
    }

    .download-btn:active {
      transform: translateY(0) scale(1.02);
    }

    .footer-text {
      margin-top: 2rem;
      font-size: 0.85rem;
      color: var(--text-secondary);
      font-style: italic;
      line-height: 1.5;
      text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
      animation: fadeInUp 1.5s cubic-bezier(0.4, 0, 0.2, 1) 0.8s both;
    }

    .status-badge {
      padding: 0.2rem 0.6rem;
      border-radius: 12px;
      font-size: 0.75rem;
      font-weight: 500;
      text-shadow: none;
      transition: all 0.3s ease;
    }

    .status-available {
      background: rgba(34, 197, 94, 0.3);
      color: #ffffff;
      border: 1px solid rgba(34, 197, 94, 0.5);
      animation: statusPulse 2s ease-in-out infinite;
    }

    @keyframes statusPulse {
      0%, 100% { transform: scale(1); }
      50% { transform: scale(1.05); }
    }

    .status-coming-soon {
      background: rgba(251, 191, 36, 0.3);
      color: #ffffff;
      border: 1px solid rgba(251, 191, 36, 0.5);
    }

    .notification {
      position: fixed;
      top: 20px;
      left: 20px;
      background: rgba(255, 255, 255, 0.95);
      color: #1f4037;
      padding: 1rem 1.5rem;
      border-radius: 12px;
      font-weight: 600;
      box-shadow: 0 15px 40px rgba(0,0,0,0.3);
      z-index: 10000;
      animation: notificationSlide 0.6s cubic-bezier(0.4, 0, 0.2, 1);
      font-family: 'Inter', sans-serif;
      backdrop-filter: blur(10px);
      border: 1px solid rgba(255, 255, 255, 0.2);
    }

    @keyframes notificationSlide {
      from { transform: translateX(-100%) scale(0.8); opacity: 0; }
      to { transform: translateX(0) scale(1); opacity: 1; }
    }

    @media (max-width: 768px) {
      .container, .main-content {
        padding: 2rem;
        margin: 0.5rem;
        max-width: 95%;
      }
      
      h1 {
        font-size: 1.8rem;
      }
      
      .section-title {
        font-size: 1.6rem;
      }
      
      .product-card {
        padding: 1.5rem;
      }
      
      .qris-code {
        width: 160px;
        height: 160px;
      }

      .product-header {
        flex-direction: column;
        text-align: center;
      }

      .payment-method {
        flex-direction: column;
        text-align: center;
      }

      .payment-info {
        text-align: center;
      }

      .theme-toggle {
        top: 15px;
        right: 15px;
        width: 45px;
        height: 45px;
        font-size: 1.1rem;
      }
    }

    @media (max-width: 480px) {
      .container, .main-content {
        padding: 1.5rem;
      }

      .button-group {
        flex-direction: column;
      }
      
      .btn-primary, .btn-secondary {
        width: 100%;
      }
      
      .product-footer {
        flex-direction: column;
        gap: 1rem;
        align-items: stretch;
      }

      .social-links a {
        justify-content: center;
      }

      h1 {
        font-size: 1.6rem;
      }

      .section-title {
        font-size: 1.4rem;
      }

      .qris-code {
        width: 140px;
        height: 140px;
      }
    }

    @media (max-width: 360px) {
      .container, .main-content {
        padding: 1rem;
        margin: 0.25rem;
      }

      .profile-img {
        width: 100px;
        height: 100px;
      }

      .product-card {
        padding: 1rem;
      }

      .qris-section {
        padding: 1.5rem;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
      }
    }
