/* ==========================================================================
   JAPAN PASS - Theme Styles
   ==========================================================================
   
   テーマ:
   1. Default (デフォルト) - 紫×赤のダーク
   2. Ocean (オーシャン) - 深海ブルーのダーク
   3. Sakura (桜) - 桜をイメージしたライト
   4. Minimal (ミニマル) - モノクロ
   ========================================================================== */

/* ==========================================================================
   1. Ocean Theme (オーシャンテーマ)
   ========================================================================== */

[data-theme="ocean"] {
  --color-bg-dark: #0a1628;
  --color-bg-dark-light: #132238;
  
  --color-accent: #00B4D8;
  --color-accent-hover: #0096B4;
  --color-accent-gradient: linear-gradient(135deg, #48CAE4 0%, #00B4D8 50%, #0096B4 100%);
  --color-gold: #90E0EF;
  
  --color-card-bg: rgba(20, 50, 80, 0.6);
  --color-card-bg-hover: rgba(30, 70, 110, 0.7);
  
  --color-text-primary: #FFFFFF;
  --color-text-secondary: rgba(255, 255, 255, 0.8);
  --color-text-muted: rgba(255, 255, 255, 0.6);
  
  --color-border: rgba(100, 200, 255, 0.15);
  --color-border-hover: rgba(100, 200, 255, 0.3);
  
  --shadow-accent: 0 4px 20px rgba(0, 180, 216, 0.4);
  --shadow-accent-hover: 0 6px 30px rgba(0, 180, 216, 0.5);
  --shadow-card: 0 10px 40px rgba(0, 100, 150, 0.2);
  --shadow-card-hover: 0 15px 50px rgba(0, 100, 150, 0.25);
}

[data-theme="ocean"] .hero__bg {
  background: 
    linear-gradient(180deg, 
      rgba(10, 22, 40, 0.4) 0%, 
      rgba(10, 22, 40, 0.2) 30%,
      rgba(10, 22, 40, 0.3) 70%,
      rgba(10, 22, 40, 0.9) 100%
    ),
    linear-gradient(135deg, 
      #0a1628 0%, 
      #0d3b66 20%, 
      #1a5f7a 40%, 
      #3a8f9f 50%, 
      #48cae4 60%, 
      #90e0ef 70%, 
      #0077b6 80%, 
      #0a1628 100%
    );
}

[data-theme="ocean"] .hero__bg::before {
  background: 
    radial-gradient(ellipse at 70% 30%, rgba(72, 202, 228, 0.3) 0%, transparent 50%),
    radial-gradient(ellipse at 30% 70%, rgba(0, 119, 182, 0.2) 0%, transparent 50%);
}

[data-theme="ocean"] .product {
  background: linear-gradient(180deg, 
    rgba(10, 22, 40, 0.95) 0%, 
    rgba(13, 35, 50, 1) 50%,
    rgba(10, 22, 40, 0.95) 100%
  );
}

[data-theme="ocean"] .product__glow {
  background: radial-gradient(ellipse, rgba(0, 180, 216, 0.2) 0%, transparent 70%);
}

[data-theme="ocean"] .product__feature-num {
  background: linear-gradient(135deg, rgba(0, 180, 216, 0.4) 0%, rgba(72, 202, 228, 0.3) 100%);
  border: 1px solid rgba(72, 202, 228, 0.6);
}

[data-theme="ocean"] .search {
  background: linear-gradient(180deg, 
    rgba(10, 22, 40, 0.95) 0%, 
    rgba(20, 40, 60, 0.9) 50%,
    rgba(10, 22, 40, 0.95) 100%
  );
}

[data-theme="ocean"] .first-time::before {
  background: 
    linear-gradient(180deg, 
      rgba(10, 22, 40, 0.9) 0%, 
      rgba(20, 50, 70, 0.7) 50%,
      rgba(10, 22, 40, 0.9) 100%
    ),
    linear-gradient(135deg, 
      #0a1628 0%, 
      #1a3a5a 30%, 
      #2a5a7a 50%, 
      #3a7a9a 70%, 
      #1a3040 100%
    );
}

[data-theme="ocean"] .journeys::before {
  background: linear-gradient(180deg, 
    rgba(10, 22, 40, 0.95) 0%, 
    rgba(30, 60, 90, 0.6) 30%,
    rgba(50, 100, 130, 0.5) 50%,
    rgba(30, 60, 90, 0.6) 70%,
    rgba(10, 22, 40, 0.95) 100%
  );
}

[data-theme="ocean"] .sites::before {
  background: linear-gradient(180deg, 
    rgba(10, 22, 40, 0.95) 0%, 
    rgba(20, 50, 70, 0.8) 50%,
    rgba(10, 22, 40, 0.95) 100%
  );
}

[data-theme="ocean"] .etiquette {
  background: linear-gradient(180deg, 
    rgba(10, 22, 40, 0.95) 0%, 
    rgba(15, 40, 55, 0.9) 50%,
    rgba(10, 22, 40, 0.95) 100%
  );
}

[data-theme="ocean"] .shopping {
  background: linear-gradient(180deg, 
    rgba(10, 22, 40, 0.95) 0%, 
    rgba(18, 45, 60, 0.9) 50%,
    rgba(10, 22, 40, 0.95) 100%
  );
}

[data-theme="ocean"] .shopping__badge {
  background: linear-gradient(135deg, var(--color-accent) 0%, #48CAE4 100%);
  box-shadow: 0 10px 30px rgba(0, 180, 216, 0.4);
}

[data-theme="ocean"] .brand__bg {
  background: 
    linear-gradient(180deg, 
      rgba(10, 22, 40, 0.9) 0%, 
      rgba(10, 22, 40, 0.7) 50%,
      rgba(10, 22, 40, 0.9) 100%
    ),
    url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?w=1600&q=80');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}

[data-theme="ocean"] .coming-soon::before {
  background: linear-gradient(180deg, 
    rgba(10, 22, 40, 0.95) 0%, 
    rgba(20, 50, 70, 0.85) 50%,
    rgba(10, 22, 40, 0.95) 100%
  );
}

[data-theme="ocean"] .contact::before {
  background: linear-gradient(180deg, 
    rgba(10, 22, 40, 0.95) 0%, 
    rgba(15, 35, 50, 0.9) 50%,
    rgba(10, 22, 40, 0.95) 100%
  );
}

[data-theme="ocean"] .footer::before {
  background: linear-gradient(180deg, 
    rgba(10, 22, 40, 0.9) 0%, 
    rgba(20, 50, 70, 0.7) 30%,
    rgba(40, 80, 110, 0.5) 50%,
    rgba(20, 50, 70, 0.7) 70%,
    rgba(10, 22, 40, 0.95) 100%
  );
}

[data-theme="ocean"] .header--scrolled {
  background-color: rgba(10, 22, 40, 0.95);
}

[data-theme="ocean"] .feature-card::before {
  background: linear-gradient(135deg, rgba(0, 180, 216, 0.1) 0%, transparent 50%);
}

[data-theme="ocean"] .feature-card__hinomaru {
  background: radial-gradient(circle, #48CAE4 0%, #00B4D8 50%, #0096B4 100%);
  box-shadow: 0 0 20px rgba(0, 180, 216, 0.5);
}

[data-theme="ocean"] .etiquette__list li::before {
  background: var(--color-accent-gradient);
  box-shadow: 0 0 10px rgba(0, 180, 216, 0.5);
}

/* ==========================================================================
   2. Sakura Theme (桜テーマ) - ライトモード
   ========================================================================== */

[data-theme="sakura"] {
  --color-bg-dark: #FFF5F5;
  --color-bg-dark-light: #FFE8E8;
  
  --color-accent: #E75480;
  --color-accent-hover: #D44070;
  --color-accent-gradient: linear-gradient(135deg, #FFB6C1 0%, #E75480 50%, #C94670 100%);
  --color-gold: #DDA0A0;
  
  --color-card-bg: rgba(255, 220, 220, 0.6);
  --color-card-bg-hover: rgba(255, 200, 200, 0.7);
  
  --color-text-primary: #4A3030;
  --color-text-secondary: rgba(74, 48, 48, 0.8);
  --color-text-muted: rgba(74, 48, 48, 0.6);
  
  --color-border: rgba(180, 100, 120, 0.2);
  --color-border-hover: rgba(180, 100, 120, 0.35);
  
  --shadow-accent: 0 4px 20px rgba(231, 84, 128, 0.3);
  --shadow-accent-hover: 0 6px 30px rgba(231, 84, 128, 0.4);
  --shadow-card: 0 10px 40px rgba(200, 150, 150, 0.15);
  --shadow-card-hover: 0 15px 50px rgba(200, 150, 150, 0.2);
}

[data-theme="sakura"] .hero__bg {
  background: 
    linear-gradient(180deg, 
      rgba(255, 245, 245, 0.3) 0%, 
      rgba(255, 245, 245, 0.1) 30%,
      rgba(255, 245, 245, 0.2) 70%,
      rgba(255, 245, 245, 0.9) 100%
    ),
    linear-gradient(135deg, 
      #FFF5F5 0%, 
      #FFD1DC 20%, 
      #FFB6C1 40%, 
      #E75480 50%, 
      #FFB6C1 60%, 
      #FFE4E8 70%, 
      #FFD1DC 80%, 
      #FFF5F5 100%
    );
}

[data-theme="sakura"] .hero__bg::before {
  background: 
    radial-gradient(ellipse at 70% 30%, rgba(255, 182, 193, 0.4) 0%, transparent 50%),
    radial-gradient(ellipse at 30% 70%, rgba(231, 84, 128, 0.2) 0%, transparent 50%);
}

[data-theme="sakura"] .product {
  background: linear-gradient(180deg, 
    rgba(255, 245, 245, 0.95) 0%, 
    rgba(255, 235, 235, 1) 50%,
    rgba(255, 245, 245, 0.95) 100%
  );
}

[data-theme="sakura"] .product__glow {
  background: radial-gradient(ellipse, rgba(231, 84, 128, 0.15) 0%, transparent 70%);
}

[data-theme="sakura"] .product__feature-num {
  background: linear-gradient(135deg, rgba(231, 84, 128, 0.3) 0%, rgba(255, 182, 193, 0.3) 100%);
  border: 1px solid rgba(231, 84, 128, 0.5);
  color: var(--color-text-primary);
}

[data-theme="sakura"] .search {
  background: linear-gradient(180deg, 
    rgba(255, 245, 245, 0.95) 0%, 
    rgba(255, 230, 230, 0.9) 50%,
    rgba(255, 245, 245, 0.95) 100%
  );
}

[data-theme="sakura"] .first-time::before {
  background: 
    linear-gradient(180deg, 
      rgba(255, 245, 245, 0.9) 0%, 
      rgba(255, 220, 225, 0.7) 50%,
      rgba(255, 245, 245, 0.9) 100%
    ),
    linear-gradient(135deg, 
      #FFF5F5 0%, 
      #FFE8EC 30%, 
      #FFD1DC 50%, 
      #FFE4E8 70%, 
      #FFF0F2 100%
    );
}

[data-theme="sakura"] .journeys::before {
  background: linear-gradient(180deg, 
    rgba(255, 245, 245, 0.95) 0%, 
    rgba(255, 210, 220, 0.5) 30%,
    rgba(255, 200, 210, 0.4) 50%,
    rgba(255, 210, 220, 0.5) 70%,
    rgba(255, 245, 245, 0.95) 100%
  );
}

[data-theme="sakura"] .journey-card__image::after {
  background: linear-gradient(to top, rgba(255, 240, 240, 0.9), transparent);
}

[data-theme="sakura"] .sites::before {
  background: linear-gradient(180deg, 
    rgba(255, 245, 245, 0.95) 0%, 
    rgba(255, 225, 230, 0.8) 50%,
    rgba(255, 245, 245, 0.95) 100%
  );
}

[data-theme="sakura"] .site-card__image::after {
  background: linear-gradient(to top, rgba(255, 245, 245, 0.95), transparent);
}

[data-theme="sakura"] .etiquette {
  background: linear-gradient(180deg, 
    rgba(255, 245, 245, 0.95) 0%, 
    rgba(255, 232, 235, 0.9) 50%,
    rgba(255, 245, 245, 0.95) 100%
  );
}

[data-theme="sakura"] .shopping {
  background: linear-gradient(180deg, 
    rgba(255, 245, 245, 0.95) 0%, 
    rgba(255, 230, 232, 0.9) 50%,
    rgba(255, 245, 245, 0.95) 100%
  );
}

[data-theme="sakura"] .shopping__badge {
  background: linear-gradient(135deg, var(--color-accent) 0%, #FF8AAE 100%);
  box-shadow: 0 10px 30px rgba(231, 84, 128, 0.3);
}

[data-theme="sakura"] .shopping__badge-text,
[data-theme="sakura"] .shopping__badge-percent {
  color: white;
}

[data-theme="sakura"] .brand__bg {
  background: 
    linear-gradient(180deg, 
      rgba(255, 245, 245, 0.9) 0%, 
      rgba(255, 245, 245, 0.7) 50%,
      rgba(255, 245, 245, 0.9) 100%
    ),
    url('https://images.unsplash.com/photo-1522383225653-ed111181a951?w=1600&q=80');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}

[data-theme="sakura"] .coming-soon::before {
  background: linear-gradient(180deg, 
    rgba(255, 245, 245, 0.95) 0%, 
    rgba(255, 225, 230, 0.85) 50%,
    rgba(255, 245, 245, 0.95) 100%
  );
}

[data-theme="sakura"] .contact::before {
  background: linear-gradient(180deg, 
    rgba(255, 245, 245, 0.95) 0%, 
    rgba(255, 235, 238, 0.9) 50%,
    rgba(255, 245, 245, 0.95) 100%
  );
}

[data-theme="sakura"] .footer::before {
  background: linear-gradient(180deg, 
    rgba(255, 245, 245, 0.9) 0%, 
    rgba(255, 220, 225, 0.7) 30%,
    rgba(255, 200, 210, 0.5) 50%,
    rgba(255, 220, 225, 0.7) 70%,
    rgba(255, 245, 245, 0.95) 100%
  );
}

[data-theme="sakura"] .header--scrolled {
  background-color: rgba(255, 245, 245, 0.95);
}

[data-theme="sakura"] .header__logo-japan {
  color: var(--color-text-primary);
}

[data-theme="sakura"] .header__nav-list a {
  color: var(--color-text-secondary);
}

[data-theme="sakura"] .header__nav-list a:hover {
  color: var(--color-text-primary);
}

[data-theme="sakura"] .header__menu-icon,
[data-theme="sakura"] .header__menu-icon::before,
[data-theme="sakura"] .header__menu-icon::after {
  background-color: var(--color-text-primary);
}

[data-theme="sakura"] .mobile-nav {
  background-color: var(--color-bg-dark-light);
}

[data-theme="sakura"] .mobile-nav__close {
  color: var(--color-text-primary);
}

[data-theme="sakura"] .mobile-nav__list a {
  color: var(--color-text-primary);
}

[data-theme="sakura"] .feature-card::before {
  background: linear-gradient(135deg, rgba(231, 84, 128, 0.1) 0%, transparent 50%);
}

[data-theme="sakura"] .feature-card__hinomaru {
  background: radial-gradient(circle, #FFB6C1 0%, #E75480 50%, #C94670 100%);
  box-shadow: 0 0 20px rgba(231, 84, 128, 0.4);
}

[data-theme="sakura"] .etiquette__list li::before {
  background: var(--color-accent-gradient);
  box-shadow: 0 0 10px rgba(231, 84, 128, 0.4);
}

[data-theme="sakura"] .shopping__feature {
  background: rgba(231, 84, 128, 0.1);
  border: 1px solid rgba(231, 84, 128, 0.2);
}

[data-theme="sakura"] .brand__icon {
  background: rgba(231, 84, 128, 0.08);
  border: 1px solid rgba(231, 84, 128, 0.15);
}

[data-theme="sakura"] .brand__icon:hover {
  background: rgba(231, 84, 128, 0.15);
}

/* ==========================================================================
   3. Minimal Theme (ミニマルテーマ) - モノクロ
   ========================================================================== */

[data-theme="minimal"] {
  --color-bg-dark: #FAFAFA;
  --color-bg-dark-light: #F0F0F0;
  
  --color-accent: #222222;
  --color-accent-hover: #444444;
  --color-accent-gradient: linear-gradient(135deg, #444444 0%, #222222 50%, #111111 100%);
  --color-gold: #666666;
  
  --color-card-bg: rgba(0, 0, 0, 0.03);
  --color-card-bg-hover: rgba(0, 0, 0, 0.06);
  
  --color-text-primary: #111111;
  --color-text-secondary: rgba(17, 17, 17, 0.75);
  --color-text-muted: rgba(17, 17, 17, 0.5);
  
  --color-border: rgba(0, 0, 0, 0.1);
  --color-border-hover: rgba(0, 0, 0, 0.2);
  
  --shadow-accent: 0 4px 20px rgba(0, 0, 0, 0.15);
  --shadow-accent-hover: 0 6px 30px rgba(0, 0, 0, 0.2);
  --shadow-card: 0 10px 40px rgba(0, 0, 0, 0.08);
  --shadow-card-hover: 0 15px 50px rgba(0, 0, 0, 0.12);
}

[data-theme="minimal"] .hero__bg {
  background: 
    linear-gradient(180deg, 
      rgba(250, 250, 250, 0.95) 0%, 
      rgba(250, 250, 250, 0.8) 30%,
      rgba(240, 240, 240, 0.9) 70%,
      rgba(250, 250, 250, 1) 100%
    ),
    linear-gradient(135deg, 
      #FAFAFA 0%, 
      #E8E8E8 30%, 
      #D0D0D0 50%, 
      #E8E8E8 70%, 
      #FAFAFA 100%
    );
}

[data-theme="minimal"] .hero__bg::before {
  background: 
    radial-gradient(ellipse at 70% 30%, rgba(200, 200, 200, 0.3) 0%, transparent 50%),
    radial-gradient(ellipse at 30% 70%, rgba(180, 180, 180, 0.2) 0%, transparent 50%);
}

[data-theme="minimal"] .product {
  background: linear-gradient(180deg, 
    rgba(250, 250, 250, 0.98) 0%, 
    rgba(245, 245, 245, 1) 50%,
    rgba(250, 250, 250, 0.98) 100%
  );
}

[data-theme="minimal"] .product__glow {
  background: radial-gradient(ellipse, rgba(0, 0, 0, 0.03) 0%, transparent 70%);
}

[data-theme="minimal"] .product__feature-num {
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.04) 100%);
  border: 1px solid rgba(0, 0, 0, 0.15);
  color: var(--color-text-primary);
}

[data-theme="minimal"] .search {
  background: linear-gradient(180deg, 
    rgba(250, 250, 250, 0.98) 0%, 
    rgba(242, 242, 242, 0.95) 50%,
    rgba(250, 250, 250, 0.98) 100%
  );
}

[data-theme="minimal"] .first-time::before {
  background: linear-gradient(180deg, 
    rgba(250, 250, 250, 0.95) 0%, 
    rgba(240, 240, 240, 0.85) 50%,
    rgba(250, 250, 250, 0.95) 100%
  );
}

[data-theme="minimal"] .journeys::before {
  background: linear-gradient(180deg, 
    rgba(250, 250, 250, 0.98) 0%, 
    rgba(235, 235, 235, 0.7) 30%,
    rgba(230, 230, 230, 0.6) 50%,
    rgba(235, 235, 235, 0.7) 70%,
    rgba(250, 250, 250, 0.98) 100%
  );
}

[data-theme="minimal"] .journey-card__image::after {
  background: linear-gradient(to top, rgba(250, 250, 250, 0.95), transparent);
}

[data-theme="minimal"] .sites::before {
  background: linear-gradient(180deg, 
    rgba(250, 250, 250, 0.98) 0%, 
    rgba(240, 240, 240, 0.9) 50%,
    rgba(250, 250, 250, 0.98) 100%
  );
}

[data-theme="minimal"] .site-card__image::after {
  background: linear-gradient(to top, rgba(250, 250, 250, 0.98), transparent);
}

[data-theme="minimal"] .etiquette {
  background: linear-gradient(180deg, 
    rgba(250, 250, 250, 0.98) 0%, 
    rgba(245, 245, 245, 0.95) 50%,
    rgba(250, 250, 250, 0.98) 100%
  );
}

[data-theme="minimal"] .shopping {
  background: linear-gradient(180deg, 
    rgba(250, 250, 250, 0.98) 0%, 
    rgba(245, 245, 245, 0.95) 50%,
    rgba(250, 250, 250, 0.98) 100%
  );
}

[data-theme="minimal"] .shopping__badge {
  background: linear-gradient(135deg, #333333 0%, #111111 100%);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

[data-theme="minimal"] .shopping__badge-text,
[data-theme="minimal"] .shopping__badge-percent {
  color: white;
}

[data-theme="minimal"] .brand__bg {
  background: 
    linear-gradient(180deg, 
      rgba(250, 250, 250, 0.95) 0%, 
      rgba(250, 250, 250, 0.85) 50%,
      rgba(250, 250, 250, 0.95) 100%
    ),
    url('https://images.unsplash.com/photo-1528360983277-13d401cdc186?w=1600&q=80');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  filter: grayscale(100%);
}

[data-theme="minimal"] .coming-soon::before {
  background: linear-gradient(180deg, 
    rgba(250, 250, 250, 0.98) 0%, 
    rgba(240, 240, 240, 0.9) 50%,
    rgba(250, 250, 250, 0.98) 100%
  );
}

[data-theme="minimal"] .contact::before {
  background: linear-gradient(180deg, 
    rgba(250, 250, 250, 0.98) 0%, 
    rgba(245, 245, 245, 0.95) 50%,
    rgba(250, 250, 250, 0.98) 100%
  );
}

[data-theme="minimal"] .footer::before {
  background: linear-gradient(180deg, 
    rgba(250, 250, 250, 0.95) 0%, 
    rgba(240, 240, 240, 0.8) 30%,
    rgba(230, 230, 230, 0.7) 50%,
    rgba(240, 240, 240, 0.8) 70%,
    rgba(250, 250, 250, 0.98) 100%
  );
}

[data-theme="minimal"] .header--scrolled {
  background-color: rgba(250, 250, 250, 0.98);
}

[data-theme="minimal"] .header__logo-japan {
  color: var(--color-text-primary);
}

[data-theme="minimal"] .header__logo-pass {
  color: var(--color-accent);
}

[data-theme="minimal"] .header__nav-list a {
  color: var(--color-text-secondary);
}

[data-theme="minimal"] .header__nav-list a:hover {
  color: var(--color-text-primary);
}

[data-theme="minimal"] .header__lang {
  color: var(--color-text-primary);
}

[data-theme="minimal"] .header__lang-menu {
  background-color: var(--color-bg-dark-light);
}

[data-theme="minimal"] .header__lang-menu button {
  color: var(--color-text-secondary);
}

[data-theme="minimal"] .header__lang-menu button:hover {
  color: var(--color-text-primary);
}

[data-theme="minimal"] .header__menu-icon,
[data-theme="minimal"] .header__menu-icon::before,
[data-theme="minimal"] .header__menu-icon::after {
  background-color: var(--color-text-primary);
}

[data-theme="minimal"] .mobile-nav {
  background-color: var(--color-bg-dark-light);
}

[data-theme="minimal"] .mobile-nav__close {
  color: var(--color-text-primary);
}

[data-theme="minimal"] .mobile-nav__list a {
  color: var(--color-text-primary);
}

[data-theme="minimal"] .btn--primary {
  color: white;
}

[data-theme="minimal"] .feature-card::before {
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.02) 0%, transparent 50%);
}

[data-theme="minimal"] .feature-card__hinomaru {
  background: radial-gradient(circle, #555555 0%, #333333 50%, #222222 100%);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}

[data-theme="minimal"] .journey-card__tag {
  background-color: rgba(0, 0, 0, 0.08);
  color: var(--color-text-secondary);
}

[data-theme="minimal"] .etiquette__list li::before {
  background: var(--color-accent-gradient);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}

[data-theme="minimal"] .shopping__feature {
  background: rgba(0, 0, 0, 0.03);
  border: 1px solid rgba(0, 0, 0, 0.08);
}

[data-theme="minimal"] .shopping__feature svg {
  color: var(--color-text-primary);
}

[data-theme="minimal"] .brand__icon {
  background: rgba(0, 0, 0, 0.03);
  border: 1px solid rgba(0, 0, 0, 0.08);
}

[data-theme="minimal"] .brand__icon:hover {
  background: rgba(0, 0, 0, 0.06);
}

[data-theme="minimal"] .brand__icon svg {
  color: var(--color-text-primary);
}

[data-theme="minimal"] .coming-soon__badge {
  background: linear-gradient(135deg, #555555 0%, #333333 100%);
  color: white;
}

[data-theme="minimal"] .feature-card__badge {
  background: linear-gradient(135deg, #555555 0%, #333333 100%);
  color: white;
}

/* ==========================================================================
   Theme Transition Animation (テーマ切り替えアニメーション)
   ========================================================================== */

body,
body *::before,
body *::after {
  transition: 
    background-color 0.4s ease,
    background 0.4s ease,
    color 0.4s ease,
    border-color 0.4s ease,
    box-shadow 0.4s ease;
}

.hero__bg,
.product,
.search,
.first-time::before,
.journeys::before,
.sites::before,
.etiquette,
.shopping,
.brand__bg,
.coming-soon::before,
.contact::before,
.footer::before {
  transition: background 0.5s ease;
}
